Module: DOIHelpers

Overview

Methods to parse and show DOI

Instance Method Summary collapse

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

Parameters:

  • text (String)

    to find DOI

Returns:

  • doi or nil



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