Class: RelatonNist::Processor

Inherits:
Relaton::Processor
  • Object
show all
Defined in:
lib/relaton_nist/processor.rb

Instance Method Summary collapse

Constructor Details

#initializeProcessor

rubocop:disable Lint/MissingSuper



5
6
7
8
9
10
11
# File 'lib/relaton_nist/processor.rb', line 5

def initialize # rubocop:disable Lint/MissingSuper
  @short = :relaton_nist
  @prefix = "NIST"
  @defaultprefix = %r{^(NIST|NBS|NISTGCR|ITL Bulletin|JPCRD|NISTIR|CSRC|FIPS)(/[^\s])?\s}
  @idtype = "NIST"
  @datasets = %w[nist-tech-pubs]
end

Instance Method Details

#fetch_data(_source, opts) ⇒ Object

Fetch all the documents from a source

Parameters:

  • _source (String)

    source name

  • opts (Hash)

Options Hash (opts):

  • :output (String)

    directory to output documents

  • :format (String)


29
30
31
# File 'lib/relaton_nist/processor.rb', line 29

def fetch_data(_source, opts)
  DataFetcher.fetch(**opts)
end

#from_xml(xml) ⇒ RelatonNist::GbBibliographicItem

Parameters:

  • xml (String)

Returns:

  • (RelatonNist::GbBibliographicItem)


35
36
37
# File 'lib/relaton_nist/processor.rb', line 35

def from_xml(xml)
  ::RelatonNist::XMLParser.from_xml xml
end

#get(code, date = nil, opts = {}) ⇒ RelatonNist::GbBibliographicItem

Parameters:

  • code (String)
  • date (String, NilClass) (defaults to: nil)

    year

  • opts (Hash) (defaults to: {})

Returns:

  • (RelatonNist::GbBibliographicItem)


17
18
19
# File 'lib/relaton_nist/processor.rb', line 17

def get(code, date = nil, opts = {})
  ::RelatonNist::NistBibliography.get(code, date, opts)
end

#grammar_hashString

Returns hash of XML grammar

Returns:

  • (String)


47
48
49
# File 'lib/relaton_nist/processor.rb', line 47

def grammar_hash
  @grammar_hash ||= ::RelatonNist.grammar_hash
end

#hash_to_bib(hash) ⇒ RelatonNist::GbBibliographicItem

Parameters:

  • hash (Hash)

Returns:

  • (RelatonNist::GbBibliographicItem)


41
42
43
# File 'lib/relaton_nist/processor.rb', line 41

def hash_to_bib(hash)
  ::RelatonNist::NistBibliographicItem.from_hash hash
end

#remove_index_fileObject

Remove index file



54
55
56
# File 'lib/relaton_nist/processor.rb', line 54

def remove_index_file
  Relaton::Index.find_or_create(:nist, url: true, file: HitCollection::INDEX_FILE).remove_file
end