osgeo-termbase 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: db12b312efde02595ac7f15528c801a3a8214b81ecbabb182f9703fa124f7499
4
+ data.tar.gz: e8796a7029e7a1dd935e430a1b458361ed645c2ebbb340ae8cbe9cf2febcf9c9
5
+ SHA512:
6
+ metadata.gz: 7cb3dfb165e1c8d9480a2ac478046a3be51f9d55165f3502288df3b7d7b716e5bf192b13a9ce6b280323eed5467efcd98fad656eb3a65ad7497c418670b5ec67
7
+ data.tar.gz: ce2b45928f43c767fc0a895f8aeabf8e73a5d9b356ea183ee065183da208801d5d81bbd6bbfdd13814397ba2f77ad45a7afbac99f719ea39dd6a9aeb37b179e0
data/.gitignore ADDED
@@ -0,0 +1,2 @@
1
+ .DS_Store
2
+ concepts/
data/Gemfile ADDED
@@ -0,0 +1,11 @@
1
+ source "https://rubygems.org"
2
+
3
+ git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
4
+
5
+ gem "tsv"
6
+
7
+ # gem "pry"
8
+ # gem "pry-coolline"
9
+
10
+ # Specify your gem's dependencies in osgeo-termbase.gemspec
11
+ gemspec
data/Gemfile.lock ADDED
@@ -0,0 +1,94 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ osgeo-termbase (0.1.12)
5
+ relaton (~> 0.5)
6
+
7
+ GEM
8
+ remote: https://rubygems.org/
9
+ specs:
10
+ addressable (2.7.0)
11
+ public_suffix (>= 2.0.2, < 5.0)
12
+ cnccs (0.1.5)
13
+ debase (0.2.4.1)
14
+ debase-ruby_core_source (>= 0.10.2)
15
+ debase-ruby_core_source (0.10.6)
16
+ diff-lcs (1.3)
17
+ faraday (0.17.0)
18
+ multipart-post (>= 1.2, < 3)
19
+ gb-agencies (0.0.6)
20
+ isoics (0.1.8)
21
+ mini_portile2 (2.4.0)
22
+ multipart-post (2.1.1)
23
+ nokogiri (1.10.4)
24
+ mini_portile2 (~> 2.4.0)
25
+ public_suffix (4.0.1)
26
+ rake (10.5.0)
27
+ relaton (0.5.9)
28
+ relaton-gb (~> 0.6.0)
29
+ relaton-iec (~> 0.4.0)
30
+ relaton-ietf (~> 0.6.0)
31
+ relaton-iso (~> 0.6.0)
32
+ relaton-itu (~> 0.3.0)
33
+ relaton-nist (~> 0.3.0)
34
+ relaton-ogc (~> 0.1.0)
35
+ relaton-bib (0.3.11)
36
+ addressable
37
+ nokogiri
38
+ relaton-gb (0.6.6)
39
+ cnccs (~> 0.1.1)
40
+ gb-agencies (~> 0.0.1)
41
+ relaton-iso-bib (~> 0.3.0)
42
+ relaton-iec (0.4.9)
43
+ addressable
44
+ relaton-iso-bib (~> 0.3.0)
45
+ relaton-ietf (0.6.7)
46
+ relaton-bib (~> 0.3.0)
47
+ relaton-iso (0.6.8)
48
+ relaton-iec (~> 0.4.0)
49
+ relaton-iso-bib (~> 0.3.0)
50
+ relaton-iso-bib (0.3.11)
51
+ isoics (~> 0.1.6)
52
+ relaton-bib (~> 0.3.0)
53
+ ruby_deep_clone (~> 0.8.0)
54
+ relaton-itu (0.3.6)
55
+ relaton-iso-bib (~> 0.3.0)
56
+ relaton-nist (0.3.7)
57
+ relaton-bib (~> 0.3.0)
58
+ rubyzip
59
+ relaton-ogc (0.1.3)
60
+ faraday
61
+ relaton-iso-bib (~> 0.3.0)
62
+ rspec (3.9.0)
63
+ rspec-core (~> 3.9.0)
64
+ rspec-expectations (~> 3.9.0)
65
+ rspec-mocks (~> 3.9.0)
66
+ rspec-core (3.9.0)
67
+ rspec-support (~> 3.9.0)
68
+ rspec-expectations (3.9.0)
69
+ diff-lcs (>= 1.2.0, < 2.0)
70
+ rspec-support (~> 3.9.0)
71
+ rspec-mocks (3.9.0)
72
+ diff-lcs (>= 1.2.0, < 2.0)
73
+ rspec-support (~> 3.9.0)
74
+ rspec-support (3.9.0)
75
+ ruby-debug-ide (0.7.0)
76
+ rake (>= 0.8.1)
77
+ ruby_deep_clone (0.8.0)
78
+ rubyzip (2.0.0)
79
+ tsv (1.0.0)
80
+
81
+ PLATFORMS
82
+ ruby
83
+
84
+ DEPENDENCIES
85
+ bundler (~> 2.0.1)
86
+ debase
87
+ osgeo-termbase!
88
+ rake (~> 10.0)
89
+ rspec (~> 3.0)
90
+ ruby-debug-ide
91
+ tsv
92
+
93
+ BUNDLED WITH
94
+ 2.0.2
data/README.adoc ADDED
@@ -0,0 +1,86 @@
1
+ = OSGeo Termbase programs
2
+
3
+ == Purpose
4
+
5
+ This gem is used for the creation and deployment of OSGeo Geolexica,
6
+ the OSGeo Glossary,
7
+ located at https://osgeo.geolexica.org.
8
+
9
+ The repository for the site is located at:
10
+
11
+ * https://github.com/geolexica/osgeo.geolexica.org
12
+
13
+
14
+ == Install
15
+
16
+ Add this line to your Gemfile:
17
+
18
+ [source,ruby]
19
+ ----
20
+ gem 'osgeo-termbase'
21
+ ----
22
+
23
+ And then execute:
24
+
25
+ [source,sh]
26
+ ----
27
+ $ bundle
28
+ ----
29
+
30
+ Or install it yourself as:
31
+
32
+ [source,sh]
33
+ ----
34
+ $ gem install osgeo-termbase
35
+ ----
36
+
37
+
38
+ == Usage
39
+
40
+ The gem comes with the following executable:
41
+
42
+ * `osgeo-termbase-csv2yaml`: used to extract terms from the official
43
+ OSGeo glossary table, into ConceptYAML and TermYAML files.
44
+
45
+ * `osgeo-termbase-fetchcsv`: used to fetch the latest OSGeo glossary
46
+ in CSV format.
47
+
48
+
49
+ === Using `osgeo-termbase-csv2yaml`
50
+
51
+ Run the following command:
52
+
53
+ [source,sh]
54
+ ----
55
+ $ osgeo-termbase-csv2yaml [termbase.csv]
56
+ ----
57
+
58
+ Where,
59
+
60
+ * the ConceptCollection YAML will be created at `[termbase.yaml]` at
61
+ the current working directory;
62
+
63
+ * ConceptYAML files for each concept (each concept identified by a unique "`Term-ID`")
64
+ are created under the `concepts/` directory (based on the current working directory).
65
+ i.e. `concepts/concept-338.yaml`.
66
+
67
+
68
+ === Using `osgeo-termbase-fetchcsv`
69
+
70
+ Run the following command:
71
+
72
+ [source,sh]
73
+ ----
74
+ $ osgeo-termbase-fetchcsv [termbase.csv]
75
+ ----
76
+
77
+ Where,
78
+
79
+ * the OSGeo glossary CSV file will be created at `[termbase.yaml]` in
80
+ the current working directory.
81
+
82
+
83
+ == Credits
84
+
85
+ This program is created and maintained by Ribose / Geolexica
86
+ for the OSGeo Lexicon Committee (OSGeo LC).
data/Rakefile ADDED
@@ -0,0 +1,6 @@
1
+ require "bundler/gem_tasks"
2
+ require "rspec/core/rake_task"
3
+
4
+ RSpec::Core::RakeTask.new(:spec)
5
+
6
+ task :default => :spec
@@ -0,0 +1,56 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'pp'
4
+ require 'pathname'
5
+ require 'fileutils'
6
+ require_relative '../lib/osgeo/termbase.rb'
7
+ # require 'pry'
8
+
9
+ filepath = ARGV[0]
10
+ #'./osgeo-termbase.xlsx'
11
+
12
+ if filepath.nil?
13
+ puts 'Error: no filepath given as first argument.'
14
+ exit 1
15
+ end
16
+
17
+ if Pathname.new(filepath).extname != ".csv"
18
+ puts 'Error: filepath given must have extension .csv.'
19
+ exit 1
20
+ end
21
+
22
+
23
+ table = Osgeo::Termbase::Csv.new(filepath)
24
+
25
+ # registries = {
26
+ # "eng" => {
27
+ # metadata: {},
28
+ # terms: table.concept_collection
29
+ # }
30
+ # }
31
+
32
+ output_dir = Dir.pwd
33
+
34
+ # metadata = {
35
+ # 'header' => workbook.glossary_info.metadata_section.to_hash["metadata"]
36
+ # }
37
+ # # Write registry metadata
38
+ # metadata['languages'] = registries.inject({}) do |acc, (lang, data)|
39
+ # acc.merge({lang => data[:metadata]})
40
+ # end
41
+
42
+ # File.open(File.join(output_dir, Pathname.new(filepath).basename.sub_ext(".meta.yaml")),"w") do |file|
43
+ # file.write(metadata.to_yaml)
44
+ # end
45
+
46
+ collection = table.concept_collection
47
+
48
+ collection.to_file(File.join(output_dir, Pathname.new(filepath).basename.sub_ext(".yaml")))
49
+
50
+ collection_output_dir = File.join(output_dir, "concepts")
51
+
52
+ FileUtils.mkdir_p(collection_output_dir)
53
+
54
+ collection.keys.each do |id|
55
+ collection[id].to_file(File.join(collection_output_dir, "concept-#{id}.yaml"))
56
+ end
@@ -0,0 +1,27 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'net/http'
4
+ require 'uri'
5
+
6
+ filepath = ARGV[0]
7
+ #'./osgeo-termbase.xlsx'
8
+
9
+ if filepath.nil?
10
+ puts 'Error: no filepath given as first argument.'
11
+ exit 1
12
+ end
13
+
14
+ if Pathname.new(filepath).extname != ".csv"
15
+ puts 'Error: filepath given must have extension .csv.'
16
+ exit 1
17
+ end
18
+
19
+ uri = URI.parse("https://docs.google.com/spreadsheets/d/e/2PACX-1vRiH36W8s6WfxFCdb_FfHSqMebxRXgq-bIbTgzYyRGzELHvLrhESiasPO6hqEWLsELlXtRcXhxcSIbQ/pub?gid=222410614&single=true&output=csv")
20
+ response = Net::HTTP.get_response(uri)
21
+
22
+ # response.code
23
+ # response.body
24
+
25
+ File.open(filepath, "w") do |f|
26
+ f.puts response.body
27
+ end
@@ -0,0 +1,11 @@
1
+ require "osgeo/termbase/version"
2
+
3
+ module Osgeo
4
+ module Termbase
5
+ class Error < StandardError; end
6
+ # Your code goes here...
7
+ end
8
+ end
9
+
10
+ require 'osgeo/termbase/csv'
11
+ require 'osgeo/termbase/concept_collection'
@@ -0,0 +1,58 @@
1
+ require_relative "term"
2
+
3
+ module Osgeo::Termbase
4
+
5
+ class Concept < Hash
6
+ attr_accessor :id
7
+ attr_accessor :terms
8
+ DEFAULT_LANGUAGE = "eng"
9
+
10
+ def initialize(options={})
11
+ terms = options.delete(:terms) || []
12
+ terms.each do |term|
13
+ add_term(term)
14
+ end
15
+
16
+ options.each_pair do |k,v|
17
+ self.send("#{k}=", v)
18
+ end
19
+ end
20
+
21
+ # The concept id should ALWAYS be an integer.
22
+ # https://github.com/riboseinc/osgeo-termbase/issues/1
23
+ def id=(newid)
24
+ @id = Integer(newid)
25
+ end
26
+
27
+ def add_term(term)
28
+ self[term.language_code] = term
29
+ end
30
+
31
+ def default_term
32
+ if self[DEFAULT_LANGUAGE]
33
+ self[DEFAULT_LANGUAGE]
34
+ else
35
+ puts "[osgeo-termbase] term (lang: #{keys.first}, ID: #{id}) is missing a corresponding English term, probably needs updating."
36
+ self[keys.first]
37
+ end
38
+ end
39
+
40
+ def to_hash
41
+ default_hash = {
42
+ "term" => default_term.term,
43
+ "termid" => id
44
+ }
45
+
46
+ self.inject(default_hash) do |acc, (lang, term)|
47
+ acc.merge!(lang => term.to_hash)
48
+ end
49
+ end
50
+
51
+ def to_file(filename)
52
+ File.open(filename,"w") do |file|
53
+ file.write(to_hash.to_yaml)
54
+ end
55
+ end
56
+
57
+ end
58
+ end
@@ -0,0 +1,32 @@
1
+ require_relative "concept"
2
+
3
+ module Osgeo::Termbase
4
+
5
+ class ConceptCollection < Hash
6
+
7
+ def add_term(term)
8
+ if self[term.id]
9
+ self[term.id].add_term(term)
10
+ else
11
+ self[term.id] = Concept.new(
12
+ id: term.id,
13
+ terms: [term]
14
+ )
15
+ end
16
+ end
17
+
18
+ def to_hash
19
+ self.inject({}) do |acc, (id, concept)|
20
+ acc.merge!(id => concept.to_hash)
21
+ end
22
+ end
23
+
24
+ def to_file(filename)
25
+ File.open(filename,"w") do |file|
26
+ file.write(to_hash.to_yaml)
27
+ end
28
+ end
29
+
30
+ end
31
+
32
+ end
@@ -0,0 +1,45 @@
1
+
2
+ require "csv"
3
+ require "yaml"
4
+ require "pathname"
5
+
6
+ module Osgeo::Termbase
7
+
8
+ class Csv
9
+ attr_accessor :filename
10
+
11
+ def initialize(filepath)
12
+ @filename = filepath
13
+ @languages = languages_supported
14
+ self
15
+ end
16
+
17
+ def languages_supported
18
+ "eng"
19
+ end
20
+
21
+ def concept_collection
22
+ collection = ConceptCollection.new
23
+
24
+ CSV.foreach(@filename).each_with_index do |row, i|
25
+ next if i < 3
26
+ term = Term.new(
27
+ id: i - 2,
28
+ term: row[0],
29
+ type: row[1],
30
+ domain: row[2],
31
+ comments: row[3] && [row[3]],
32
+ definition: row[4],
33
+ authoritative_source: row[5],
34
+ entry_status: row[6],
35
+ language_code: "eng"
36
+ )
37
+
38
+ collection.add_term(term)
39
+ end
40
+
41
+ collection
42
+ end
43
+
44
+ end
45
+ end
@@ -0,0 +1,275 @@
1
+ module Osgeo::Termbase
2
+
3
+ class Term
4
+
5
+ ATTRIBS = %i(
6
+ id
7
+ term
8
+ abbrev
9
+ synonyms
10
+ alt
11
+ domain
12
+ definition
13
+ country_code
14
+ language_code
15
+ notes
16
+ examples
17
+ entry_status
18
+ type
19
+ comments
20
+ classification
21
+ review_indicator
22
+ authoritative_source
23
+ authoritative_source_similarity
24
+ lineage_source
25
+ lineage_source_similarity
26
+ date_accepted
27
+ date_amended
28
+ review_date
29
+ review_status
30
+ review_type
31
+ review_decision
32
+ review_decision_date
33
+ review_decision_event
34
+ review_decision_notes
35
+ release
36
+ )
37
+
38
+ attr_accessor *ATTRIBS
39
+
40
+ def initialize(options={})
41
+ @examples = []
42
+ @notes = []
43
+
44
+ # puts "options #{options.inspect}"
45
+
46
+ options.each_pair do |k, v|
47
+ key = k.to_s
48
+ v = v.strip if v.is_a?(String)
49
+ next unless v
50
+ case key
51
+ when /^example/
52
+ add_example(v)
53
+ when /^note/
54
+ add_note(v)
55
+ else
56
+ # puts"Key #{k}"
57
+ key = key.gsub("-", "_")
58
+ self.send("#{key}=", v)
59
+ end
60
+ end
61
+ self
62
+ end
63
+
64
+ STRIP_PUNCTUATION = [
65
+ ":",
66
+ ":",
67
+ ".",
68
+ "–",
69
+ "\-"
70
+ ]
71
+
72
+ # WARNING
73
+ # Always put the longer Regexp match in front!
74
+ EXAMPLE_PREFIXES = {
75
+ # TODO: fix this, we should not have "EXAMPLES"
76
+ eng: ["EXAMPLES", "EXAMPLE"],
77
+ ara: "مثال",
78
+ chi: "示例",
79
+ dan: "EKSEMPEL",
80
+ dut: ["VOORBEELD", "VOORBEELDEN"],
81
+ fin: "ESIM",
82
+ fre: "Exemple",
83
+ # ger: "",
84
+ jpn: "例",
85
+ kor: "보기",
86
+ pol: "PRZYKŁAD",
87
+ may: "Contoh",
88
+ rus: "Пример",
89
+ spa: "Ejemplo",
90
+ swe: "Exempel"
91
+ }
92
+
93
+ # WARNING
94
+ # Always put the longer Regexp match in front!
95
+ NOTE_PREFIXES = {
96
+ eng: ["Note \\d to entry", "NOTE"],
97
+ ara: "ملاحظة",
98
+ chi: "注",
99
+ dan: "Note",
100
+ dut: "OPMERKING",
101
+ fin: "HUOM\\.?", # Matches "HUOM", "HUOM.", "HUOM 1." and "HUOM. 1." (numeral added by the method)
102
+ fre: "A noter",
103
+ # ger: "",
104
+ jpn: "備考",
105
+ kor: "비고",
106
+ pol: "UWAGA",
107
+ may: "catatan",
108
+ rus: "нота",
109
+ spa: "Nota",
110
+ swe: ["Anm. \\d till termpost", "Anm. \\d till terpost", "Anm."]
111
+ }
112
+
113
+ # To match Chinese and Japanese numerals
114
+ ALL_FULL_HALF_WIDTH_NUMBERS = "[0-90-9]"
115
+
116
+ def add_example(example)
117
+ c = clean_prefixed_string(example, EXAMPLE_PREFIXES)
118
+ @examples << c unless c.empty?
119
+ end
120
+
121
+ def add_note(note)
122
+ c = clean_prefixed_string(note, NOTE_PREFIXES)
123
+ @notes << c unless c.empty?
124
+ end
125
+
126
+ def clean_prefixed_string(string, criterion_map)
127
+ carry = string.strip
128
+ criterion_map.values.flatten.each do |mat|
129
+ # puts "example string: #{carry}, mat: #{mat}"
130
+
131
+ # puts "note string: #{carry}, mat: #{mat}"
132
+ # if @id == 318 and mat == "Nota" and string == "NOTA 1 Una operación tiene un nombre y una lista de parámetros."
133
+ # require "pry"
134
+ # binding.pry
135
+ # end
136
+
137
+ # Arabic notes/examples sometimes use parantheses around numbers
138
+ carry = carry.sub(
139
+ Regexp.new(
140
+ "^#{mat}\s*[#{STRIP_PUNCTUATION.join('')}]?" +
141
+ "\s*\\(?#{ALL_FULL_HALF_WIDTH_NUMBERS}*\\)?\s*"+
142
+ "[#{STRIP_PUNCTUATION.join('')}]?\s*",
143
+ Regexp::IGNORECASE
144
+ ),
145
+ '')
146
+ end
147
+
148
+ carry
149
+ end
150
+
151
+
152
+ # The termid should ALWAYS be an integer.
153
+ # https://github.com/riboseinc/osgeo-termbase/issues/1
154
+ def id=(newid)
155
+ @id = Integer(newid)
156
+ end
157
+
158
+ def to_hash
159
+ ATTRIBS.inject({}) do |acc, attrib|
160
+ value = self.send(attrib)
161
+ unless value.nil?
162
+ acc.merge(attrib.to_s => value)
163
+ else
164
+ acc
165
+ end
166
+ end
167
+ end
168
+
169
+ # OSGEO SPECIFIC
170
+ # type
171
+ ## Must be one of term, abbrev, soft, other, check
172
+ def type=(value)
173
+ @type = case value.to_s
174
+ when "term", "abbrev", "soft", "other", "check"
175
+ value.to_s
176
+ end
177
+ end
178
+
179
+ # OSGEO SPECIFIC
180
+ # domain
181
+ ## Must be one of term, abbrev, soft, other, check
182
+ def domain=(value)
183
+ @domain = case value.to_s
184
+ when "concept", "org_acedemic", "org_indus", "org_intl", "org_govt"
185
+ value.to_s
186
+ end
187
+ end
188
+
189
+ # entry-status
190
+ ## Must be one of notValid valid superseded retired
191
+ def entry_status=(value)
192
+ case value
193
+ when "有效的", "käytössä", "действующий", "válido"
194
+ value = "valid"
195
+ when "korvattu", "reemplazado"
196
+ value = "superseded"
197
+ when "информация отсутствует" # "information absent"!?
198
+ value = "retired"
199
+ when %w(notValid valid superseded retired)
200
+ # do nothing
201
+ end
202
+ @entry_status = value
203
+ end
204
+
205
+ # classification
206
+ ## Must be one of the following: preferred admitted deprecated
207
+ def classification=(value)
208
+ case value
209
+ when ""
210
+ value = "admitted"
211
+ when "认可的", "допустимый", "admitido"
212
+ value = "admitted"
213
+ when "首选的", "suositettava", "suositeltava", "рекомендуемый", "preferente"
214
+ value = "preferred"
215
+ when %w(preferred admitted deprecated)
216
+ # do nothing
217
+ end
218
+ @classification = value
219
+ end
220
+
221
+ # review-indicator
222
+ ## Must be one of the following <empty field> Under Review in Source Document",
223
+ def review_indicator=(value)
224
+ unless ["", "Under Review in Source Document"].include?(value)
225
+ value = ""
226
+ end
227
+ @review_indicator = value
228
+ end
229
+
230
+ # authoritative-source-similarity
231
+ # ## Must be one of the following codes: identical = 1 restyled = 2 context added = 3 generalisation = 4 specialisation = 5 unspecified = 6",
232
+ def authoritative_source_similarity=(value)
233
+ unless (1..6).include?(value)
234
+ value = 6
235
+ end
236
+ @authoritative_source_similarity = value
237
+ end
238
+
239
+ # lineage-source-similarity
240
+ # ## Must be one of the following codes: identical = 1 restyled = 2 context added = 3 generalisation = 4 specialisation = 5 unspecified = 6",
241
+ def authoritative_source_similarity=(value)
242
+ unless (1..6).include?(value)
243
+ value = 6
244
+ end
245
+ @authoritative_source_similarity
246
+ end
247
+
248
+ def review_status=(value) ## Must be one of pending tentative final
249
+ unless ["", "pending", "tentative", "final"].include?(value)
250
+ value = ""
251
+ end
252
+ @review_status = value
253
+ end
254
+
255
+ def review_type=(value) ## Must be one of supersession, retirement
256
+ unless ["", "supersession", "retirement"].include?(value)
257
+ value = ""
258
+ end
259
+ @review_type = value
260
+ end
261
+
262
+ def review_decision=(value) ## Must be one of withdrawn, accepted notAccepted
263
+ unless ["", "withdrawn", "accepted", "notAccepted"].include?(value)
264
+ value = ""
265
+ end
266
+ @review_decision = value
267
+ end
268
+
269
+ def retired?
270
+ release >= 0
271
+ end
272
+
273
+ end
274
+
275
+ end
@@ -0,0 +1,5 @@
1
+ module Osgeo
2
+ module Termbase
3
+ VERSION = "0.0.1"
4
+ end
5
+ end
@@ -0,0 +1,32 @@
1
+
2
+ lib = File.expand_path("../lib", __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require "osgeo/termbase/version"
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "osgeo-termbase"
8
+ spec.version = Osgeo::Termbase::VERSION
9
+ spec.authors = ["Ribose"]
10
+ spec.email = ["open.source@ribose.com"]
11
+
12
+ spec.summary = %q{Build scripts for the OSGeo Termbase}
13
+ spec.description = %q{Build scripts for the OSGeo Termbase}
14
+ spec.homepage = "https://open.ribose.com"
15
+
16
+ # Specify which files should be added to the gem when it is released.
17
+ # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
18
+ spec.files = Dir.chdir(File.expand_path('..', __FILE__)) do
19
+ `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
20
+ end
21
+ spec.bindir = "exe"
22
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
23
+ spec.require_paths = ["lib"]
24
+
25
+ spec.add_runtime_dependency "relaton", "~> 0.5"
26
+
27
+ spec.add_development_dependency "bundler", "~> 2.0.1"
28
+ spec.add_development_dependency "debase"
29
+ spec.add_development_dependency "rake", "~> 10.0"
30
+ spec.add_development_dependency "rspec", "~> 3.0"
31
+ spec.add_development_dependency "ruby-debug-ide"
32
+ end
metadata ADDED
@@ -0,0 +1,142 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: osgeo-termbase
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Ribose
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2019-10-28 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: relaton
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '0.5'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '0.5'
27
+ - !ruby/object:Gem::Dependency
28
+ name: bundler
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: 2.0.1
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: 2.0.1
41
+ - !ruby/object:Gem::Dependency
42
+ name: debase
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rake
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '10.0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '10.0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: rspec
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '3.0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '3.0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: ruby-debug-ide
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ description: Build scripts for the OSGeo Termbase
98
+ email:
99
+ - open.source@ribose.com
100
+ executables:
101
+ - osgeo-termbase-csv2yaml
102
+ - osgeo-termbase-fetchcsv
103
+ extensions: []
104
+ extra_rdoc_files: []
105
+ files:
106
+ - ".gitignore"
107
+ - Gemfile
108
+ - Gemfile.lock
109
+ - README.adoc
110
+ - Rakefile
111
+ - exe/osgeo-termbase-csv2yaml
112
+ - exe/osgeo-termbase-fetchcsv
113
+ - lib/osgeo/termbase.rb
114
+ - lib/osgeo/termbase/concept.rb
115
+ - lib/osgeo/termbase/concept_collection.rb
116
+ - lib/osgeo/termbase/csv.rb
117
+ - lib/osgeo/termbase/term.rb
118
+ - lib/osgeo/termbase/version.rb
119
+ - osgeo-termbase.gemspec
120
+ homepage: https://open.ribose.com
121
+ licenses: []
122
+ metadata: {}
123
+ post_install_message:
124
+ rdoc_options: []
125
+ require_paths:
126
+ - lib
127
+ required_ruby_version: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ required_rubygems_version: !ruby/object:Gem::Requirement
133
+ requirements:
134
+ - - ">="
135
+ - !ruby/object:Gem::Version
136
+ version: '0'
137
+ requirements: []
138
+ rubygems_version: 3.0.3
139
+ signing_key:
140
+ specification_version: 4
141
+ summary: Build scripts for the OSGeo Termbase
142
+ test_files: []