Module: Relaton::Cli
- Included in:
- Command, SubcommandCollection, SubcommandDb
- Defined in:
- lib/relaton-cli.rb,
lib/relaton/cli.rb,
lib/relaton/cli/util.rb,
lib/relaton/cli/command.rb,
lib/relaton/cli/version.rb,
lib/relaton/cli/data_fetcher.rb,
lib/relaton/cli/relaton_file.rb,
lib/relaton/cli/subcommand_db.rb,
lib/relaton/cli/xml_convertor.rb,
lib/relaton/cli/base_convertor.rb,
lib/relaton/cli/yaml_convertor.rb,
lib/relaton/cli/xml_to_html_renderer.rb,
lib/relaton/cli/subcommand_collection.rb
Defined Under Namespace
Modules: DataFetcher, Util
Classes: BaseConvertor, Command, RelatonDb, RelatonFile, SubcommandCollection, SubcommandDb, XMLConvertor, XmlToHtmlRenderer, YAMLConvertor
Constant Summary
collapse
- VERSION =
Relaton::VERSION
Class Method Summary
collapse
Class Method Details
.parse_xml(doc) ⇒ RelatonBib::BibliographicItem, RelatonIsoBib::IsoBibliongraphicItem
77
78
79
80
81
82
83
84
|
# File 'lib/relaton/cli.rb', line 77
def parse_xml(doc)
doc.remove_namespaces! if doc.respond_to?(:remove_namespaces!)
if (proc = Cli.processor(doc))
proc.from_xml(doc.to_s)
else
Relaton::Bib::Item.from_xml(doc.to_s) rescue nil
end
end
|
.processor(doc) ⇒ RelatonIso::Processor, ...
91
92
93
94
95
96
97
|
# File 'lib/relaton/cli.rb', line 91
def processor(doc)
docid = doc.at "docidentifier"
proc = get_proc docid
return proc if proc
Relaton::Db::Registry.instance.by_type(docid&.text&.match(/^\w+/)&.to_s)
end
|
.relaton(dir) ⇒ Relaton::Db
Relaton
Based on current setup, we need to initiate a Db instance to
register all of it's supported processor backends. To make it
easier we have added it as a class method so we can use this
whenever necessary.
70
71
72
|
# File 'lib/relaton/cli.rb', line 70
def relaton(dir)
RelatonDb.instance.db dir
end
|
.start(arguments) ⇒ Object
57
58
59
|
# File 'lib/relaton/cli.rb', line 57
def start(arguments)
Relaton::Cli::Command.start(arguments)
end
|
.version ⇒ Object
43
44
45
46
47
48
49
50
51
52
53
54
55
|
# File 'lib/relaton/cli.rb', line 43
def version
require "relaton/bib"
registry = Relaton::Db::Registry.instance
puts "CLI => #{Relaton::Cli::VERSION}"
puts "relaton => #{Relaton::VERSION}"
puts "relaton-bib => #{Relaton::VERSION}"
registry.processors.each_key do |k|
name = k.to_s.sub("_", "-")
puts "#{name} => #{Relaton::VERSION}"
end
end
|