relaton-iso 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 7b2af6056b89b71d6ca4148fc52a3a1ea70735ef8f7aca140394ddd5418b71fe
4
+ data.tar.gz: 6c2438c00e88c968aad812208b94b1fc406669a49fd927f43c2a359fba4dbd9c
5
+ SHA512:
6
+ metadata.gz: de64ab29a1e7773af26ac8f37aa459e22cc8b06f3703a3b5db2a60b632a7e2eb4f0f50d80f31aedfce6c9a03ae9ec13be6512c509e460a4e7a6f818883be9eb0
7
+ data.tar.gz: f308fe8715c389624984cdf25374e7013cb7e56427f495745a2a64745c9c83acc4c1e960684c91508ffa9d5fec1614aa74b7f62f2e83fed2844a2d1c1afb205d
data/.gitignore ADDED
@@ -0,0 +1,16 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ /_yardoc/
4
+ /coverage/
5
+ /doc/
6
+ /pkg/
7
+ /spec/reports/
8
+ /tmp/
9
+
10
+ # rspec failure tracking
11
+ .rspec_status
12
+
13
+ .byebug_history
14
+
15
+ .vscode/
16
+ .rubocop-https---raw-githubusercontent-com-riboseinc-oss-guides-master-ci-rubocop-yml
data/.hound.yml ADDED
@@ -0,0 +1,3 @@
1
+ ruby:
2
+ Enabled: true
3
+ config_file: .rubocop.yml
data/.rspec ADDED
@@ -0,0 +1,3 @@
1
+ --format documentation
2
+ --color
3
+ --require spec_helper
data/.rubocop.yml ADDED
@@ -0,0 +1,10 @@
1
+ # This project follows the Ribose OSS style guide.
2
+ # https://github.com/riboseinc/oss-guides
3
+ # All project-specific additions and overrides should be specified in this file.
4
+
5
+ inherit_from:
6
+ - https://raw.githubusercontent.com/riboseinc/oss-guides/master/ci/rubocop.yml
7
+ AllCops:
8
+ TargetRubyVersion: 2.3
9
+ Rails:
10
+ Enabled: true
data/.travis.yml ADDED
@@ -0,0 +1,17 @@
1
+ # Auto-generated !!! Do not edit it manually
2
+ # use ci-master https://github.com/metanorma/metanorma-build-scripts
3
+ language: ruby
4
+ cache: bundler
5
+ os:
6
+ - linux
7
+ - osx
8
+ rvm:
9
+ - 2.5
10
+ - 2.4
11
+ - ruby-head
12
+ before_install:
13
+ - gem install bundler -v 2.0.1
14
+ - bundle update
15
+ matrix:
16
+ allow_failures:
17
+ - rvm: ruby-head
@@ -0,0 +1,74 @@
1
+ # Contributor Covenant Code of Conduct
2
+
3
+ ## Our Pledge
4
+
5
+ In the interest of fostering an open and welcoming environment, we as
6
+ contributors and maintainers pledge to making participation in our project and
7
+ our community a harassment-free experience for everyone, regardless of age, body
8
+ size, disability, ethnicity, gender identity and expression, level of experience,
9
+ nationality, personal appearance, race, religion, or sexual identity and
10
+ orientation.
11
+
12
+ ## Our Standards
13
+
14
+ Examples of behavior that contributes to creating a positive environment
15
+ include:
16
+
17
+ * Using welcoming and inclusive language
18
+ * Being respectful of differing viewpoints and experiences
19
+ * Gracefully accepting constructive criticism
20
+ * Focusing on what is best for the community
21
+ * Showing empathy towards other community members
22
+
23
+ Examples of unacceptable behavior by participants include:
24
+
25
+ * The use of sexualized language or imagery and unwelcome sexual attention or
26
+ advances
27
+ * Trolling, insulting/derogatory comments, and personal or political attacks
28
+ * Public or private harassment
29
+ * Publishing others' private information, such as a physical or electronic
30
+ address, without explicit permission
31
+ * Other conduct which could reasonably be considered inappropriate in a
32
+ professional setting
33
+
34
+ ## Our Responsibilities
35
+
36
+ Project maintainers are responsible for clarifying the standards of acceptable
37
+ behavior and are expected to take appropriate and fair corrective action in
38
+ response to any instances of unacceptable behavior.
39
+
40
+ Project maintainers have the right and responsibility to remove, edit, or
41
+ reject comments, commits, code, wiki edits, issues, and other contributions
42
+ that are not aligned to this Code of Conduct, or to ban temporarily or
43
+ permanently any contributor for other behaviors that they deem inappropriate,
44
+ threatening, offensive, or harmful.
45
+
46
+ ## Scope
47
+
48
+ This Code of Conduct applies both within project spaces and in public spaces
49
+ when an individual is representing the project or its community. Examples of
50
+ representing a project or community include using an official project e-mail
51
+ address, posting via an official social media account, or acting as an appointed
52
+ representative at an online or offline event. Representation of a project may be
53
+ further defined and clarified by project maintainers.
54
+
55
+ ## Enforcement
56
+
57
+ Instances of abusive, harassing, or otherwise unacceptable behavior may be
58
+ reported by contacting the project team at ronald.tse@ribose.com. All
59
+ complaints will be reviewed and investigated and will result in a response that
60
+ is deemed necessary and appropriate to the circumstances. The project team is
61
+ obligated to maintain confidentiality with regard to the reporter of an incident.
62
+ Further details of specific enforcement policies may be posted separately.
63
+
64
+ Project maintainers who do not follow or enforce the Code of Conduct in good
65
+ faith may face temporary or permanent repercussions as determined by other
66
+ members of the project's leadership.
67
+
68
+ ## Attribution
69
+
70
+ This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
71
+ available at [http://contributor-covenant.org/version/1/4][version]
72
+
73
+ [homepage]: http://contributor-covenant.org
74
+ [version]: http://contributor-covenant.org/version/1/4/
data/Gemfile ADDED
@@ -0,0 +1,9 @@
1
+ Encoding.default_external = Encoding::UTF_8
2
+ Encoding.default_internal = Encoding::UTF_8
3
+
4
+ source "https://rubygems.org"
5
+
6
+ git_source(:github) { |repo_name| "https://github.com/#{repo_name}" }
7
+
8
+ # Specify your gem's dependencies in relaton_iso.gemspec
9
+ gemspec
data/Gemfile.lock ADDED
@@ -0,0 +1,101 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ relaton-iso (0.5.0)
5
+ algoliasearch
6
+ relaton-iec (~> 0.3.0)
7
+ relaton-iso-bib (~> 0.2.0)
8
+
9
+ GEM
10
+ remote: https://rubygems.org/
11
+ specs:
12
+ addressable (2.6.0)
13
+ public_suffix (>= 2.0.2, < 4.0)
14
+ algoliasearch (1.26.0)
15
+ httpclient (~> 2.8, >= 2.8.3)
16
+ json (>= 1.5.1)
17
+ byebug (11.0.1)
18
+ coderay (1.1.2)
19
+ crack (0.4.3)
20
+ safe_yaml (~> 1.0.0)
21
+ debase (0.2.2)
22
+ debase-ruby_core_source (>= 0.10.2)
23
+ debase-ruby_core_source (0.10.5)
24
+ diff-lcs (1.3)
25
+ docile (1.3.2)
26
+ equivalent-xml (0.6.0)
27
+ nokogiri (>= 1.4.3)
28
+ hashdiff (0.4.0)
29
+ httpclient (2.8.3)
30
+ isoics (0.1.7)
31
+ json (2.2.0)
32
+ method_source (0.9.2)
33
+ mini_portile2 (2.3.0)
34
+ nokogiri (1.8.5)
35
+ mini_portile2 (~> 2.3.0)
36
+ pry (0.12.2)
37
+ coderay (~> 1.1.0)
38
+ method_source (~> 0.9.0)
39
+ pry-byebug (3.7.0)
40
+ byebug (~> 11.0)
41
+ pry (~> 0.10)
42
+ public_suffix (3.1.0)
43
+ rake (10.5.0)
44
+ relaton-bib (0.2.0)
45
+ addressable
46
+ nokogiri (~> 1.8.4)
47
+ relaton-iec (0.3.0)
48
+ addressable
49
+ relaton-iso-bib (~> 0.2.0)
50
+ relaton-iso-bib (0.2.0)
51
+ isoics (~> 0.1.6)
52
+ nokogiri (~> 1.8.4)
53
+ relaton-bib (~> 0.2.0)
54
+ ruby_deep_clone (~> 0.8.0)
55
+ rspec (3.8.0)
56
+ rspec-core (~> 3.8.0)
57
+ rspec-expectations (~> 3.8.0)
58
+ rspec-mocks (~> 3.8.0)
59
+ rspec-core (3.8.1)
60
+ rspec-support (~> 3.8.0)
61
+ rspec-expectations (3.8.4)
62
+ diff-lcs (>= 1.2.0, < 2.0)
63
+ rspec-support (~> 3.8.0)
64
+ rspec-mocks (3.8.1)
65
+ diff-lcs (>= 1.2.0, < 2.0)
66
+ rspec-support (~> 3.8.0)
67
+ rspec-support (3.8.2)
68
+ ruby-debug-ide (0.7.0)
69
+ rake (>= 0.8.1)
70
+ ruby_deep_clone (0.8.0)
71
+ safe_yaml (1.0.5)
72
+ simplecov (0.16.1)
73
+ docile (~> 1.1)
74
+ json (>= 1.8, < 3)
75
+ simplecov-html (~> 0.10.0)
76
+ simplecov-html (0.10.2)
77
+ vcr (5.0.0)
78
+ webmock (3.6.0)
79
+ addressable (>= 2.3.6)
80
+ crack (>= 0.3.2)
81
+ hashdiff (>= 0.4.0, < 2.0.0)
82
+
83
+ PLATFORMS
84
+ ruby
85
+
86
+ DEPENDENCIES
87
+ bundler (~> 2.0.1)
88
+ byebug
89
+ debase
90
+ equivalent-xml (~> 0.6)
91
+ pry-byebug
92
+ rake (~> 10.0)
93
+ relaton-iso!
94
+ rspec (~> 3.0)
95
+ ruby-debug-ide
96
+ simplecov
97
+ vcr
98
+ webmock
99
+
100
+ BUNDLED WITH
101
+ 2.0.1
data/LICENSE.txt ADDED
@@ -0,0 +1,25 @@
1
+ BSD 2-Clause License
2
+
3
+ Copyright (c) 2018, Ribose
4
+ All rights reserved.
5
+
6
+ Redistribution and use in source and binary forms, with or without
7
+ modification, are permitted provided that the following conditions are met:
8
+
9
+ * Redistributions of source code must retain the above copyright notice, this
10
+ list of conditions and the following disclaimer.
11
+
12
+ * Redistributions in binary form must reproduce the above copyright notice,
13
+ this list of conditions and the following disclaimer in the documentation
14
+ and/or other materials provided with the distribution.
15
+
16
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
17
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
20
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
22
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
23
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
24
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
25
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
data/README.adoc ADDED
@@ -0,0 +1,202 @@
1
+ = RelatonIso: retrieve ISO Standards for bibliographic use using the BibliographicItem model
2
+
3
+ image:https://img.shields.io/gem/v/relaton-iso.svg["Gem Version", link="https://rubygems.org/gems/relaton-iso"]
4
+ image:https://img.shields.io/travis/metanorma/relaton-iso/master.svg["Build Status", link="https://travis-ci.com/metanorma/relaton-iso"]
5
+ image:https://ci.appveyor.com/api/projects/status/nb2hvqycupqrkqjt?svg=true["Appveyor Build Status", link="https://ci.appveyor.com/project/ribose/relaton-iso"]
6
+ image:https://codeclimate.com/github/metanorma/relaton-iso/badges/gpa.svg["Code Climate", link="https://codeclimate.com/github/metanorma/relaton-iso"]
7
+
8
+ RelatonIso is a Ruby gem that implements the https://github.com/metanorma/metanorma-model-iso#iso-bibliographic-item[IsoBibliographicItem model].
9
+
10
+ You can use it to retrieve metadata of ISO Standards from https://www.iso.org, and access such metadata through the `IsoBibliographicItem` object.
11
+
12
+ == Installation
13
+
14
+ Add this line to your application's Gemfile:
15
+
16
+ [source,ruby]
17
+ ----
18
+ gem 'relaton-iso'
19
+ ----
20
+
21
+ And then execute:
22
+
23
+ $ bundle
24
+
25
+ Or install it yourself as:
26
+
27
+ $ gem install relaton-iso
28
+
29
+ == Usage
30
+
31
+ === Search for a standard using keywords
32
+
33
+ [source,ruby]
34
+ ----
35
+ hit_pages = RelatonIso::IsoBibliography.search("19115")
36
+ => [[<RelatonIso::Hit:0x007f9a049df0d0 @text="19115" @fullIdentifier="" @matchedWords=["19115"] @category="standard" @title="ISO 19115-2:2019 Geographic information -- Metadata -- Part 2: Extensions for acquisition and processing">,
37
+ <RelatonIso::Hit:0x007f9a049df0a8 @text="19115" @fullIdentifier="" @matchedWords=["19115"] @category="standard" @title="ISO 19115-1:2014 Geographic information -- Metadata -- Part 1: Fundamentals">,
38
+ ...
39
+ <RelatonIso::Hit:0x007f9a049deec8 @text="19115" @fullIdentifier="" @matchedWords=["19115"] @category="standard" @title="ISO/TS 19157-2:2016 Geographic information -- Data quality -- Part 2: XML schema implementation">]]
40
+
41
+ hit_collection = hit_pages.first
42
+ => [<RelatonIso::Hit:0x007f9a049df0d0 @text="19115" @fullIdentifier="" @matchedWords=["19115"] @category="standard" @title="ISO 19115-2:2019 Geographic information -- Metadata -- Part 2: Extensions for acquisition and processing">,
43
+ <RelatonIso::Hit:0x007f9a049df0a8 @text="19115" @fullIdentifier="" @matchedWords=["19115"] @category="standard" @title="ISO 19115-1:2014 Geographic information -- Metadata -- Part 1: Fundamentals">,
44
+ ...
45
+ <RelatonIso::Hit:0x007f9a049deef0 @text="19115" @fullIdentifier="" @matchedWords=["19115"] @category="standard" @title="ISO/TS 19139-2:2012 Geographic information -- Metadata -- XML schema implementation -- Part 2: Extensions for imagery and gridded data">,
46
+ <RelatonIso::Hit:0x007f9a049deec8 @text="19115" @fullIdentifier="" @matchedWords=["19115"] @category="standard" @title="ISO/TS 19157-2:2016 Geographic information -- Data quality -- Part 2: XML schema implementation">]
47
+
48
+ item = hit_collection[1].fetch
49
+ => #<RelatonIsoBib::IsoBibliographicItem:0x007f9a030a9d90
50
+ @abstract=
51
+ [#<RelatonBib::FormattedString:0x007f9a030a2518
52
+ @content=
53
+ "ISO 19115-1:2014 defines the schema required for describing geographic information and services by means of metadata. It provides information about the identification, the
54
+ ...
55
+ ----
56
+
57
+ === XML serialization
58
+
59
+ Possible options:
60
+
61
+ - *bibdata* - If true then wrapp item with _bibdata_ element and add _ext_ element.
62
+ - *note* - Array of hashes `{ text: "Note", type: "note" }`. These notes will be added to XML.
63
+
64
+ [source,ruby]
65
+ ----
66
+ item.to_xml
67
+ =>"<bibitem id="ISO19115-1-2014">
68
+ <title type="title-main" format="text/plain" language="en" script="Latn">Metadata</title>
69
+ <title type="title-intro" format="text/plain" language="en" script="Latn">Geographic information</title>
70
+ <title type="title-part" format="text/plain" language="en" script="Latn">Part 1: Fundamentals</title>
71
+ <title type="main" format="text/plain" language="en" script="Latn">Metadata - Geographic information - Part 1: Fundamentals</title>
72
+ <title type="title-main" format="text/plain" language="fr" script="Latn">Métadonnées</title>
73
+ <title type="title-intro" format="text/plain" language="fr" script="Latn">Information géographique</title>
74
+ <title type="title-part" format="text/plain" language="fr" script="Latn">Partie 1: Principes de base</title>
75
+ <title type="main" format="text/plain" language="fr" script="Latn">Métadonnées - Information géographique - Partie 1: Principes de base</title>
76
+ <uri type="src">https://www.iso.org/standard/53798.html</uri>
77
+ <uri type="obp">https://www.iso.org/obp/ui/#!iso:std:53798:en</uri>
78
+ <uri type="rss">https://www.iso.org/contents/data/standard/05/37/53798.detail.rss</uri>
79
+ <docidentifier type="ISO">ISO 19115-1:2014</docidentifier>
80
+ <date type="published">
81
+ <on>2014</on>
82
+ </date>
83
+ <contributor>
84
+ <role type="publisher"/>
85
+ <organization>
86
+ <name>International Organization for Standardization</name>
87
+ <abbreviation>ISO</abbreviation>
88
+ <uri>www.iso.org</uri>
89
+ </organization>
90
+ </contributor>
91
+ <edition>1</edition>
92
+ <language>en</language>
93
+ <language>fr</language>
94
+ <script>Latn</script>
95
+ <abstract format="text/plain" language="en" script="Latn">ISO 19115-1:2014 defines the schema required for describing geographic information and services by means of metadata. It provides information about the identification, the extent, the quality, the spatial and temporal aspects, the content, the spatial reference, the portrayal, distribution, and other properties of digital geographic data and services.ISO 19115-1:2014 is applicable to:-the cataloguing of all types of resources, clearinghouse activities, and the full description of datasets and services;-geographic services, geographic datasets, dataset series, and individual geographic features and feature properties.ISO 19115-1:2014 defines:-mandatory and conditional metadata sections, metadata entities, and metadata elements;-the minimum set of metadata required to serve most metadata applications (data discovery, determining data fitness for use, data access, data transfer, and use of digital data and services);-optional metadata elements to allow for a more extensive standard description of resources, if required;-a method for extending metadata to fit specialized needs.Though ISO 19115-1:2014 is applicable to digital data and services, its principles can be extended to many other types of resources such as maps, charts, and textual documents as well as non-geographic data. Certain conditional metadata elements might not apply to these other forms of data.</abstract>
96
+ <abstract format="text/plain" language="fr" script="Latn">L'ISO 19115-1:2014 définit le schéma requis pour décrire des informations géographiques et des services au moyen de métadonnées. Elle fournit des informations concernant l'identification, l'étendue, la qualité, les aspects spatiaux et temporels, le contenu, la référence spatiale, la représentation des données, la distribution et d'autres propriétés des données géographiques numériques et des services.L'ISO 19115-1:2014 est applicable:-au catalogage de tous les types de ressources, des activités des centres d'informations et à la description complète des jeux de données et des services,-aux services géographiques, jeux de données géographiques, séries de jeux de données, entités géographiques individuelles et propriétés d'entités.L'ISO 19115-1:2014 définit:-des sections relatives aux métadonnées obligatoires et facultatives, aux entités de métadonnées et aux éléments de métadonnées,-le jeu minimal de métadonnées requis pour répondre au besoin de la plupart des applications des métadonnées (la découverte des données, la détermination de l'adéquation des données à une utilisation, l'accès aux données, le transfert des données et l'utilisation des données numériques et des services),-les éléments de métadonnées facultatifs pour permettre une description standard plus poussée des ressources, si cela est nécessaire,-un procédé d'extension des métadonnées pour s'adapter aux besoins spéciaux.L'ISO 19115-1:2014 est applicable aux données numériques et services, ses principes peuvent être étendus à bien d'autres types de ressources telles que les cartes, les graphes et les documents textes, de même qu'à des données non géographiques. Certains éléments de métadonnées conditionnels peuvent ne pas s'appliquer à ces autres formes de données.</abstract>
97
+ <status>
98
+ <stage>90</stage>
99
+ <substage>20</substage>
100
+ </status>
101
+ <copyright>
102
+ <from>2014</from>
103
+ <owner>
104
+ <organization>
105
+ <name>ISO</name>
106
+ </organization>
107
+ </owner>
108
+ </copyright>
109
+ <relation type="obsoletes">
110
+ <bibitem>
111
+ <formattedref format="text/plain">ISO 19115:2003</formattedref>
112
+ </bibitem>
113
+ </relation>
114
+ <relation type="obsoletes">
115
+ <bibitem>
116
+ <formattedref format="text/plain">ISO 19115:2003/Cor 1:2006</formattedref>
117
+ </bibitem>
118
+ </relation>
119
+ <relation type="updates">
120
+ <bibitem>
121
+ <formattedref format="text/plain">ISO 19115-1:2014/Amd 1:2018</formattedref>
122
+ </bibitem>
123
+ </relation>
124
+ </bibitem>"
125
+
126
+ item.to_xml bibdata: true
127
+ =>"<bibdata>
128
+ ...
129
+ <ext>
130
+ <doctype>international-standard</doctype>
131
+ <editorialgroup>
132
+ <technical_committee number="211" type="TC">ISO/TC 211Geographic information/Geomatics</technical_committee>
133
+ </editorialgroup>
134
+ <ics>
135
+ <code>35.240.70</code>
136
+ <text>IT applications in science</text>
137
+ </ics>
138
+ <structuredidentifier type="ISO">
139
+ <project-number>ISO 19115</project-number>
140
+ </structuredidentifier>
141
+ </ext>
142
+ </bibdata>"
143
+
144
+ item.to_xml note: [{ text: "Note", type: "note" }]
145
+ =>"<bibitem id="ISO19115-1-2014">
146
+ ...
147
+ <note format="text/plain" type="note">Note</note>
148
+ ...
149
+ </bibitem>"
150
+ ----
151
+
152
+ === Get serialisation in response to code, year, and options
153
+
154
+ [source,ruby]
155
+ ----
156
+ RelatonIso::IsoBibliography.get('ISO 19115', "2014", {all_parts: true}).title
157
+ => [#<RelatonIsoBib::TypedTitleString:0x007f9a05a1dcd0
158
+ @title=#<RelatonBib::FormattedString:0x007f9a05a1d668 @content="Metadata", @format="text/plain", @language=["en"], @script=["Latn"]>,
159
+ @type="title-main">,
160
+ #<RelatonIsoBib::TypedTitleString:0x007f9a05a1d1b8
161
+ @title=#<RelatonBib::FormattedString:0x007f9a05a1c970 @content="Geographic information", @format="text/plain", @language=["en"], @script=["Latn"]>,
162
+ @type="title-intro">,
163
+ #<RelatonIsoBib::TypedTitleString:0x007f9a030d38c0
164
+ @title=
165
+ #<RelatonBib::FormattedString:0x007f9a030d3320 @content="Metadata - Geographic information - Part 1: Fundamentals", @format="text/plain", @language=["en"], @script=["Latn"]>,
166
+ @type="main">,
167
+ #<RelatonIsoBib::TypedTitleString:0x007f9a030d26a0
168
+ @title=#<RelatonBib::FormattedString:0x007f9a030d21f0 @content="Métadonnées", @format="text/plain", @language=["fr"], @script=["Latn"]>,
169
+ @type="title-main">,
170
+ #<RelatonIsoBib::TypedTitleString:0x007f9a030d1d68
171
+ @title=#<RelatonBib::FormattedString:0x007f9a030d15e8 @content="Information géographique", @format="text/plain", @language=["fr"], @script=["Latn"]>,
172
+ @type="title-intro">,
173
+ #<RelatonIsoBib::TypedTitleString:0x007f9a030d0a80
174
+ @title=
175
+ #<RelatonBib::FormattedString:0x007f9a030d0530
176
+ @content="Métadonnées - Information géographique - Partie 1: Principes de base",
177
+ @format="text/plain",
178
+ @language=["fr"],
179
+ @script=["Latn"]>,
180
+ @type="main">]
181
+ ----
182
+
183
+ == Development
184
+
185
+ After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
186
+
187
+ To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
188
+
189
+
190
+ == Exceptional Citations
191
+
192
+ This gem retrieves bibliographic descriptions of ISO documents by doing searches on the ISO website, http://www.iso.org, and screenscraping the document that matches the queried document identifier. The following documents are not returned as search results from the ISO website, and the gem returns manually generated references to them.
193
+
194
+ * `IEV`: used in the metanorma-iso gem to reference Electropedia entries generically. Is resolved to an "all parts" reference to IEC 60050, which in turn is resolved into the specific documents cited by their top-level clause.
195
+
196
+ == Contributing
197
+
198
+ Bug reports and pull requests are welcome on GitHub at https://github.com/metanorma/relaton-iso
199
+
200
+ == License
201
+
202
+ The gem is available as open source under the terms of the https://opensource.org/licenses/MIT[MIT license].