class Terrier
Constants
- VERSION
Attributes
citation_data[R]
identifier[R]
zenodo_pdf[R]
Public Class Methods
new(identifier)
click to toggle source
# File lib/terrier.rb, line 10 def initialize(identifier) @identifier = identifier @citation_data = {} data end
Public Instance Methods
data()
click to toggle source
# File lib/terrier.rb, line 16 def data if uri?(@identifier) html_data else doi_data(identifier) end end
Private Instance Methods
doi_data(doi)
click to toggle source
# File lib/terrier.rb, line 53 def doi_data(doi) fetched_data = Terrier::DoiData.new(doi).data || {} @citation_data = @citation_data.merge(fetched_data) end
html_data()
click to toggle source
# File lib/terrier.rb, line 46 def html_data @citation_data = Terrier::HtmlData.new(identifier).data if citation_data[:doi] doi_data(citation_data[:doi]) end end
uri?(string)
click to toggle source
# File lib/terrier.rb, line 37 def uri?(string) uri = URI.parse(string) %w( http https ).include?(uri.scheme) rescue URI::BadURIError false rescue URI::InvalidURIError false end