Class: Relaton::Oasis::Processor

Inherits:
Core::Processor
  • Object
show all
Defined in:
lib/relaton/oasis/processor.rb

Instance Method Summary collapse

Constructor Details

#initializeProcessor

rubocop:disable Lint/MissingSuper



8
9
10
11
12
13
14
# File 'lib/relaton/oasis/processor.rb', line 8

def initialize # rubocop:disable Lint/MissingSuper
  @short = :relaton_oasis
  @prefix = "OASIS"
  @defaultprefix = %r{^OASIS\s}
  @idtype = "OASIS"
  @datasets = %w[oasis-open]
end

Instance Method Details

#fetch_data(_source, opts) ⇒ Object

Fetch all the documents from www.oasis-open.org/standards/

Parameters:

  • _source (String)

    source name

  • opts (Hash)

Options Hash (opts):

  • :output (String)

    directory to output documents

  • :format (String)


33
34
35
36
# File 'lib/relaton/oasis/processor.rb', line 33

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

#from_xml(xml) ⇒ Relaton::Oasis::Item

Parameters:

  • xml (String)

Returns:



40
41
42
43
# File 'lib/relaton/oasis/processor.rb', line 40

def from_xml(xml)
  require_relative "../oasis"
  Item.from_xml(xml)
end

#from_yaml(yaml) ⇒ Relaton::Oasis::Item

Parameters:

  • yaml (String)

Returns:



47
48
49
50
# File 'lib/relaton/oasis/processor.rb', line 47

def from_yaml(yaml)
  require_relative "../oasis"
  Item.from_yaml(yaml)
end

#get(code, date, opts) ⇒ Relaton::Oasis::Item

Parameters:

  • code (String)
  • date (String, nil)

    year

  • opts (Hash)

Returns:



20
21
22
23
# File 'lib/relaton/oasis/processor.rb', line 20

def get(code, date, opts)
  require_relative "../oasis"
  Bibliography.get(code, date, opts)
end

#grammar_hashString

Returns hash of XML grammar

Returns:

  • (String)


54
55
56
57
# File 'lib/relaton/oasis/processor.rb', line 54

def grammar_hash
  require_relative "../oasis"
  @grammar_hash ||= Relaton::Oasis.grammar_hash
end

#remove_index_fileObject

Remove index file



62
63
64
65
# File 'lib/relaton/oasis/processor.rb', line 62

def remove_index_file
  require_relative "../oasis"
  Relaton::Index.find_or_create(:oasis, file: "#{INDEXFILE}.yaml").remove_file
end