Module: DOIHelpers
- Included in:
- CrossrefDoi, CrossrefDoi, PdfProcessor, Record, Reference, Reference, ReferenceMethods, ReferenceProcessor, ReferenceProcessor, SemanticScholar::Remote
- Defined in:
- lib/doi_helpers.rb
Overview
Methods to parse and show DOI
Instance Method Summary collapse
- 
  
    
      #a_doi(doi)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Returns an <a> tag to link a DOI. 
- 
  
    
      #doi_without_http(doi)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Return the doi without the http part. 
- 
  
    
      #find_doi(text)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    find DOI on a text. 
- 
  
    
      #url_doi(doi)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Add http to doi. 
Instance Method Details
#a_doi(doi) ⇒ Object
Returns an <a> tag to link a DOI
| 41 42 43 44 | # File 'lib/doi_helpers.rb', line 41 def a_doi(doi) url_doi_=url_doi(doi) "<a target='_blank' href='#{url_doi_}'>#{url_doi_}</a>" end | 
#doi_without_http(doi) ⇒ Object
Return the doi without the http part
| 46 47 48 49 | # File 'lib/doi_helpers.rb', line 46 def doi_without_http(doi) return nil if doi.nil? doi.gsub(/http.+doi.org\// ,"") end | 
#find_doi(text) ⇒ Object
find DOI on a text
| 54 55 56 57 58 59 60 | # File 'lib/doi_helpers.rb', line 54 def find_doi(text) if text=~/\b(10[.][0-9]{4,}(?:[.][0-9]+)*\/(?:(?!["&\'<>])\S)+)\b/ return $1 else return nil end end | 
#url_doi(doi) ⇒ Object
Add http to doi
| 33 34 35 36 37 38 39 | # File 'lib/doi_helpers.rb', line 33 def url_doi(doi) if doi=~/http/ doi else "http://doi.org/#{doi}" end end |