Class: Obp::Access
- Inherits:
-
Object
show all
- Defined in:
- lib/obp/access.rb,
lib/obp/access/cli.rb,
lib/obp/access/urn.rb,
lib/obp/access/imager.rb,
lib/obp/access/parser.rb,
lib/obp/access/catalog.rb,
lib/obp/access/fetcher.rb,
lib/obp/access/version.rb,
lib/obp/access/renderer.rb,
lib/obp/access/converter.rb,
lib/obp/access/retriever.rb,
lib/obp/access/deliverable.rb,
lib/obp/access/elements/base.rb,
lib/obp/access/elements/list.rb,
lib/obp/access/elements/root.rb,
lib/obp/access/elements/array.rb,
lib/obp/access/elements/index.rb,
lib/obp/access/elements/title.rb,
lib/obp/access/grammar_parser.rb,
lib/obp/access/elements/figure.rb,
lib/obp/access/inline_renderer.rb,
lib/obp/access/domain_extractor.rb,
lib/obp/access/element_registry.rb,
lib/obp/access/elements/section.rb,
lib/obp/access/elements/copyright.rb,
lib/obp/access/elements/paragraph.rb,
lib/obp/access/elements/table_wrap.rb,
lib/obp/access/elements/terminology.rb,
lib/obp/access/elements/bibliography.rb,
lib/obp/access/elements/figure_group.rb,
lib/obp/access/elements/introduction.rb,
lib/obp/access/elements/section_type.rb,
lib/obp/access/elements/section_title.rb,
lib/obp/access/elements/terminology/tig.rb,
lib/obp/access/elements/terminology/base.rb,
lib/obp/access/elements/terminology/note.rb,
lib/obp/access/elements/non_normative_note.rb,
lib/obp/access/elements/terminology/source.rb,
lib/obp/access/elements/terminology/example.rb,
lib/obp/access/elements/bibliography/bib_ref.rb,
lib/obp/access/elements/terminology/definition.rb,
lib/obp/access/elements/terminology/tig_admitted.rb,
lib/obp/access/elements/terminology/tig_preferred.rb,
lib/obp/access/elements/terminology/tig_deprecated.rb
Defined Under Namespace
Modules: InlineRenderer
Classes: CLI, Catalog, Converter, Deliverable, DomainExtractor, ElementRegistry, Fetcher, GrammarParser, Imager, Parser, Renderer, Retriever, Urn
Constant Summary
collapse
- BASE_URL =
"https://www.iso.org".freeze
- API_URL =
"#{BASE_URL}/obp/ui".freeze
- VERSION =
"0.1.3".freeze
Instance Attribute Summary collapse
Class Method Summary
collapse
Instance Method Summary
collapse
Constructor Details
#initialize(urn) ⇒ Access
Returns a new instance of Access.
81
82
83
|
# File 'lib/obp/access.rb', line 81
def initialize(urn)
@urn = urn
end
|
Instance Attribute Details
#urn ⇒ Object
Returns the value of attribute urn.
58
59
60
|
# File 'lib/obp/access.rb', line 58
def urn
@urn
end
|
Class Method Details
.fetch(urn) ⇒ Object
60
61
62
63
64
|
# File 'lib/obp/access.rb', line 60
def self.fetch(urn)
raise ArgumentError, "URN is required" unless urn
new(Urn.new(urn))
end
|
.fetch_all(urn, languages:) ⇒ Object
66
67
68
69
70
71
|
# File 'lib/obp/access.rb', line 66
def self.fetch_all(urn, languages:)
urn = Urn.new(urn)
available = new(urn).available_languages
resolved = resolve_languages(urn.language, languages, available)
resolved.map { |lang| new(Urn.new("#{urn.base}:#{lang}")) }
end
|
.resolve_languages(primary, requested, available) ⇒ Object
73
74
75
76
77
78
79
|
# File 'lib/obp/access.rb', line 73
def self.resolve_languages(primary, requested, available)
case requested
when :all then [primary] | available
when Array then [primary] | (requested & available)
else [primary]
end
end
|
Instance Method Details
#available_languages ⇒ Object
100
101
102
|
# File 'lib/obp/access.rb', line 100
def available_languages
parser.available_languages
end
|
#to_sts ⇒ Object
90
91
92
|
# File 'lib/obp/access.rb', line 90
def to_sts
Sts::NisoSts::Standard.from_xml(to_xml)
end
|
#to_xml(pretty: false) ⇒ Object
85
86
87
88
|
# File 'lib/obp/access.rb', line 85
def to_xml(pretty: false)
xml = parser.to_xml
pretty ? pretty_print(xml) : xml
end
|
#to_xml_file ⇒ Object
94
95
96
97
98
|
# File 'lib/obp/access.rb', line 94
def to_xml_file
path = File.join(tmpdir, "#{urn.safe}.xml")
File.write(path, to_xml(pretty: true))
path
end
|