Class: RelatonNist::NistBibliography
- Inherits:
-
Object
- Object
- RelatonNist::NistBibliography
- Defined in:
- lib/relaton_nist/nist_bibliography.rb
Class Method Summary collapse
-
.get(code, year = nil, opts = {}) ⇒ String
Relaton XML serialisation of reference.
- .search(text, year = nil, opts = {}) ⇒ RelatonNist::HitCollection
Class Method Details
.get(code, year = nil, opts = {}) ⇒ String
Returns Relaton XML serialisation of reference.
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
# File 'lib/relaton_nist/nist_bibliography.rb', line 30 def get(code, year = nil, opts = {}) return fetch_ref_err(code, year, []) if code =~ /\sEP$/ /^(?<code2>[^\(]+)(\((?<date2>\w+\s(\d{2},\s)?\d{4})\))?\s?\(?((?<=\()(?<stage>[^\)]+))?/ =~ code if code2 code = code2.strip if date2 if /\w+\s\d{4}/ =~ date2 opts[:issued_date] = Date.strptime date2, "%B %Y" elsif /\w+\s\d{2},\s\d{4}/ =~ date2 opts[:updated_date] = Date.strptime date2, "%B %d, %Y" end end opts[:stage] = stage if stage end if year.nil? /^(?<code1>[^:]+):(?<year1>[^:]+)$/ =~ code unless code1.nil? code = code1 year = year1 end end code += "-1" if opts[:all_parts] nistbib_get1(code, year, opts) end |
.search(text, year = nil, opts = {}) ⇒ RelatonNist::HitCollection
15 16 17 18 19 |
# File 'lib/relaton_nist/nist_bibliography.rb', line 15 def search(text, year = nil, opts = {}) HitCollection.new text, year, opts rescue OpenURI::HTTPError, SocketError, OpenSSL::SSL::SSLError raise RelatonBib::RequestError, "Could not access https://www.nist.gov" end |