relaton-cli 1.6.0 → 1.7.pre3

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: cab067e54deec06c46faaf90278f75691b84008e8eedc329d3ee5c436a6674db
4
- data.tar.gz: 7a1befd6c62e2a66af02a07676f75d957950edee1e2d4bdb880e992f4d18e5f3
3
+ metadata.gz: b6c0e11fa51a48417dd591d2835b2637a79f9a021e58f1f1fb6e818d12e90ac3
4
+ data.tar.gz: da5753170d30401fab1a0b013a338ee3cd48da9d209a5ee17e83700f0999e59d
5
5
  SHA512:
6
- metadata.gz: 39fc9c092e575f4d7476e053c653138e62c1fc2595c8b9a7be78a0a4e213fa1c75857de7240ce27ae13c35a9be340f7ae28dc0c98ac67ded7db4e79f10403d82
7
- data.tar.gz: b58f299d101795a6e2705ccc3654c14833388f2d4393e57aefc1259a41c219df5139701a5c2905345bf69a189c2d45cfcf11a570f14633219cf94de572cba8a2
6
+ metadata.gz: cee2b8248080c68d64cc58e780e0aa77ba0ad9bd06d6e42ce4e8eda81c639bb2e5dd301e177cad0bdc12f3bd7d588a7f2b7f1eab9c426d1c81e6ef53e66e61a4
7
+ data.tar.gz: ed00bade15a250b8dcaa6d531c58ca1b979ad5a73175eb97a63593f1525ae62c4002f477e3bd84a717fdc571919e43f8021980c40d0e6dc9aba1282b050c6a51
@@ -0,0 +1,46 @@
1
+ # Auto-generated by Cimas: Do not edit it manually!
2
+ # See https://github.com/metanorma/cimas
3
+ name: rake
4
+
5
+ on:
6
+ push:
7
+ branches: [ master, main ]
8
+ tags: [ v* ]
9
+ pull_request:
10
+
11
+ jobs:
12
+ rake:
13
+ name: Test on Ruby ${{ matrix.ruby }} ${{ matrix.os }}
14
+ runs-on: ${{ matrix.os }}
15
+ continue-on-error: ${{ matrix.experimental }}
16
+ strategy:
17
+ fail-fast: false
18
+ matrix:
19
+ ruby: [ '2.7', '2.6', '2.5', '2.4' ]
20
+ os: [ ubuntu-latest, windows-latest, macos-latest ]
21
+ experimental: [ false ]
22
+ include:
23
+ - ruby: '3.0'
24
+ os: 'ubuntu-latest'
25
+ experimental: true
26
+ - ruby: '3.0'
27
+ os: 'windows-latest'
28
+ experimental: true
29
+ - ruby: '3.0'
30
+ os: 'macos-latest'
31
+ experimental: true
32
+ steps:
33
+ - uses: actions/checkout@v2
34
+ with:
35
+ submodules: true
36
+
37
+ # https://github.com/ruby-debug/debase/issues/89#issuecomment-686827382
38
+ - if: matrix.os == 'macos-latest' && matrix.ruby == '2.5'
39
+ run: echo BUNDLE_BUILD__DEBASE="--with-cflags=\"-Wno-error=implicit-function-declaration\"" >> $GITHUB_ENV
40
+
41
+ - uses: ruby/setup-ruby@v1
42
+ with:
43
+ ruby-version: ${{ matrix.ruby }}
44
+ bundler-cache: true
45
+
46
+ - run: bundle exec rake
data/Gemfile CHANGED
@@ -5,4 +5,3 @@ source "https://rubygems.org"
5
5
 
6
6
  # Specify your gem's dependencies in gemspec
7
7
  gemspec
8
-
data/docs/README.adoc CHANGED
@@ -1,9 +1,7 @@
1
1
  = Relaton CLI (relaton-cli): Relaton Command-line Interface
2
2
 
3
3
  image:https://img.shields.io/gem/v/relaton-cli.svg["Gem Version", link="https://rubygems.org/gems/relaton-cli"]
4
- image:https://github.com/relaton/relaton-cli/workflows/ubuntu/badge.svg["Build Status", link="https://github.com/relaton/relaton-cli/actions?workflow=ubuntu"]
5
- image:https://github.com/relaton/relaton-cli/workflows/macos/badge.svg["Build Status", link="https://github.com/relaton/relaton-cli/actions?workflow=macos"]
6
- image:https://github.com/relaton/relaton-cli/workflows/windows/badge.svg["Build Status", link="https://github.com/relaton/relaton-cli/actions?workflow=windows"]
4
+ image:https://github.com/relaton/relaton-cli/workflows/rake/badge.svg["Build Status", link="https://github.com/relaton/relaton-cli/actions?workflow=rake"]
7
5
  image:https://codeclimate.com/github/metanorma/relaton-cli/badges/gpa.svg["Code Climate", link="https://codeclimate.com/github/metanorma/relaton-cli"]
8
6
 
9
7
  Documentation in development.
@@ -43,14 +41,17 @@ suports an additional `-x` or `--extension` options to use different extension.
43
41
 
44
42
  [source,console]
45
43
  ----
46
- $ relaton fetch CODE -t TYPE -f FORMAT -y YEAR
44
+ $ relaton fetch CODE -t TYPE -f FORMAT -y YEAR -r RETRIES --all-parts --keep-year
47
45
  ----
48
46
 
49
47
  Fetch the Relaton XML entry corresponding to the document identifier `CODE`.
50
48
 
51
49
  * `YEAR` is optional, and specifies the year of publication of the standard.
52
- * `FORMAT` is optional, and specifies the output format; the recognised values for `FORMAT` are `xml` (default), `bibtex`.
53
- * `TYPE` specifies the standards class library to be used, that the identifier is part of. The recognised values for `TYPE` are `BIPM`, `CC`, `CN`, `IEC`, `IEEE`, `IETF`, `IHO`, `ISO`, `ITU`, `NIST`, `OGC`, `OMG`, `UN`, `W3C`.
50
+ * `FORMAT` is optional, and specifies the output format; the recognised values for `FORMAT` are `xml` (default), yaml, `bibtex`.
51
+ * `TYPE` is optional, specifies the standards class library to be used, that the identifier is part of. The recognised values for `TYPE` are `BIPM`, `CC`, `CIE`, `CN`, `ECMA`, `IEC`, `IEEE`, `IETF`, `IHO`, `ISO`, `ITU`, `NIST`, `OGC`, `OMG`, `UN`, `W3C`.
52
+ * `RETRIES` is optional, number of network retries (default 1).
53
+ * `--all-parts` fetch all parts.
54
+ * `--keep-year` undated reference should return actual reference with year.
54
55
 
55
56
  === relaton extract
56
57
 
@@ -306,4 +307,108 @@ $ relaton collection import FILE -c COLLECTION -d DIRECTORY
306
307
  Import document or collection from XML `FILE` into `COLLECTION`.
307
308
 
308
309
  * `COLLECTION` is optional. If collection doesn't exist then it will be created.
309
- * `DIRECTORY` is optional, and specifies path to a directory with collections. Default is `$HOME/.relaton/collections`.
310
+ * `DIRECTORY` is optional, and specifies path to a directory with collections. Default is `$HOME/.relaton/collections`.
311
+
312
+ === Cache DB manipulation
313
+
314
+ ==== Create caache DB
315
+
316
+ ----
317
+ $ relaton db create DIR
318
+ ----
319
+
320
+ Creates a new cache DB in a directory `DIR` (optional, deafult is `/home/USER/.relaton/dbpath`). In case the target directory exists it will be used as a cache DB.
321
+
322
+ ----
323
+ $ relaton db create
324
+ Cache DB is in "/Users/user/.relaton/cache"
325
+
326
+ $ relaton db create cachedb
327
+ Cache DB is in "/Users/user/RubyProjects/relaton-cli/cachedb"
328
+ ----
329
+
330
+ ==== Move cache DB
331
+
332
+ ----
333
+ $ relaton db mv DIR
334
+ ----
335
+
336
+ Move cache DB to another place `DIR`.
337
+
338
+ ----
339
+ $ relaton db mv cache_dir
340
+ Cache DB is moved to "/Users/user/RubyProjects/relaton-cli/cache_dir"
341
+ ----
342
+
343
+ ==== Clear cache DB
344
+
345
+ Delete all entries from a chache DB.
346
+
347
+ ----
348
+ $ relaton db clear
349
+ ----
350
+
351
+ ==== Fetch from cache DB
352
+
353
+ ----
354
+ $ relaton db fetch -t TYPE -f FORMAT -y YEAR
355
+ ----
356
+
357
+ Fetch an entry from a cache DB. See [relaton fetch](#relaton-fetch) for the arguments explanation.
358
+
359
+ ==== Fetch all
360
+
361
+ Fetch all entries from a chache DB.
362
+
363
+ ----
364
+ $ relaton db fetch_all TEXT -e EDITION -y YEAR -f FORMAT
365
+ ----
366
+
367
+ * `TEXT` (optional) search for a certan string
368
+ * `EDITION` (optional) filter documets with a certain edition
369
+ * `YEAR` (optional) filter documents by a year
370
+ * `FORMAT` (optional) specify the output format. Recognised values are `xml` (default), yaml, `bibtex`.
371
+
372
+ ----
373
+ $ relaton db fetch_all
374
+ <bibitem id="ISO/IECDIR1" type="international-standard">
375
+ ...
376
+
377
+ $ relaton db fetch_all 'Procedures for the technical work'
378
+ <bibitem id="ISO/IECDIR1" type="international-standard">
379
+ <fetched>2021-04-01</fetched>
380
+ <title type="title-main" format="text/plain" language="en" script="Latn">Procedures for the technical work</title>
381
+ ...
382
+
383
+ $ relaton db fetch_all -e 3
384
+ <bibitem id="ISO2146-2010" type="standard">
385
+ ...
386
+ <edition>3</edition>
387
+ ...
388
+
389
+ $ relaton db fetch_all -e 8 -y 2018
390
+ <bibitem id="ISO/IECDIR2IEC" type="international-standard">
391
+ <fetched>2021-04-01</fetched>
392
+ <title type="title-main" format="text/plain" language="en" script="Latn">Principles and rules for the structure and drafting of ISO and IEC documents</title>
393
+ <uri type="obp">https://www.iec.ch/members_experts/refdocs/iec/isoiecdir2%7Bed8.0.RLV%7Den.pdf</uri>
394
+ <docidentifier type="ISO">ISO/IEC DIR 2 IEC</docidentifier>
395
+ <date type="published">
396
+ <on>2018-05-01</on>
397
+ </date>
398
+ <edition>8</edition>
399
+ ...
400
+ ----
401
+
402
+ ==== Get document type
403
+
404
+ ----
405
+ $ relaton db doctype REF
406
+ ----
407
+
408
+ Takes a reference `REF` and retuern a document type.
409
+
410
+ ----
411
+ $ relaton db doctype 'CN(GB/T 1.1)'
412
+ Chinese Standard
413
+ GB/T 1.1
414
+ ----
data/lib/relaton/cli.rb CHANGED
@@ -3,16 +3,35 @@ require "relaton"
3
3
  require_relative "cli/command"
4
4
 
5
5
  module Relaton
6
- def self.db
7
- Cli.relaton
6
+ def self.db(dir = nil)
7
+ Cli.relaton dir
8
8
  end
9
9
 
10
10
  module Cli
11
11
  class RelatonDb
12
12
  include Singleton
13
13
 
14
- def db
15
- @db ||= Relaton::Db.new("#{Dir.home}/.relaton/cache", nil)
14
+ DBCONF = "#{Dir.home}/.relaton/dbpath".freeze
15
+
16
+ # @param dir [String, nil]
17
+ # @return [Relaton::Db]
18
+ def db(dir)
19
+ if dir
20
+ File.write DBCONF, dir, encoding: "UTF-8"
21
+ @db = Relaton::Db.new dir, nil
22
+ else
23
+ @db ||= Relaton::Db.new dbpath, nil
24
+ end
25
+ end
26
+
27
+ private
28
+
29
+ # @return [String] path to DB
30
+ def dbpath
31
+ if File.exist?(DBCONF)
32
+ File.read(DBCONF, encoding: "UTF-8")
33
+ else "#{Dir.home}/.relaton/cache"
34
+ end
16
35
  end
17
36
  end
18
37
 
@@ -28,8 +47,10 @@ module Relaton
28
47
  # easier we have added it as a class method so we can use this
29
48
  # whenever necessary.
30
49
  #
31
- def relaton
32
- RelatonDb.instance.db
50
+ # @param dir [String, nil]
51
+ # @return [Relaton::Db]
52
+ def relaton(dir)
53
+ RelatonDb.instance.db dir
33
54
  end
34
55
 
35
56
  # @param content [Nokogiri::XML::Document]
@@ -2,21 +2,29 @@ require "relaton/cli/relaton_file"
2
2
  require "relaton/cli/xml_convertor"
3
3
  require "relaton/cli/yaml_convertor"
4
4
  require "relaton/cli/subcommand_collection"
5
+ require "relaton/cli/subcommand_db"
5
6
  require "fcntl"
6
7
 
7
8
  module Relaton
8
9
  module Cli
9
10
  class Command < Thor
11
+ include Relaton::Cli
12
+
10
13
  desc "fetch CODE", "Fetch Relaton XML for Standard identifier CODE"
11
- option :type, aliases: :t, required: true, desc: "Type of standard to "\
14
+ option :type, aliases: :t, desc: "Type of standard to "\
12
15
  "get bibliographic entry for"
13
- option :format, aliases: :f, desc: "Output format (xml, bibtex). "\
16
+ option :format, aliases: :f, desc: "Output format (xml, yaml, bibtex). "\
14
17
  "Default xml."
15
18
  option :year, aliases: :y, type: :numeric, desc: "Year the standard was "\
16
19
  "published"
20
+ option :"all-parts", type: :boolean, desc: "Fetch all parts"
21
+ option :"keep-year", type: :boolean, desc: "Undated reference should "\
22
+ "return actual reference with year"
23
+ option :retries, aliases: :r, type: :numeric, desc: "Number of network "\
24
+ "retries. Default 1."
17
25
 
18
26
  def fetch(code)
19
- Relaton.db
27
+ # Relaton.db
20
28
  io = IO.new(STDOUT.fcntl(::Fcntl::F_DUPFD), mode: "w:UTF-8")
21
29
  io.puts(fetch_document(code, options) || supported_type_message)
22
30
  end
@@ -35,8 +43,8 @@ module Relaton
35
43
  option :title, aliases: :t, desc: "Title of resulting Relaton collection"
36
44
  option :organization, aliases: :g, desc: "Organization owner of Relaton "\
37
45
  "collection"
38
- option :new, aliases: :n, type: :boolean, desc: "Use the new Relaton "\
39
- "YAML format"
46
+ # option :new, aliases: :n, type: :boolean, desc: "Use the new Relaton "\
47
+ # "YAML format"
40
48
  option :extension, aliases: :x, desc: "File extension of destination "\
41
49
  "Relaton file, defaults to 'rxl'"
42
50
 
@@ -48,8 +56,8 @@ module Relaton
48
56
  "Relaton Collection into multiple files"
49
57
  option :extension, aliases: :x, default: "rxl", desc: "File extension "\
50
58
  "of Relaton XML files, defaults to 'rxl'"
51
- option :new, aliases: :n, type: :boolean, desc: "Use the new Relaton "\
52
- "YAML format"
59
+ # option :new, aliases: :n, type: :boolean, desc: "Use the new Relaton "\
60
+ # "YAML format"
53
61
 
54
62
  def split(source, outdir)
55
63
  Relaton::Cli::RelatonFile.split(source, outdir, options)
@@ -139,34 +147,50 @@ module Relaton
139
147
  desc "collection SUBCOMMAND", "Collection manipulations"
140
148
  subcommand "collection", SubcommandCollection
141
149
 
142
- private
143
-
144
- # @param code [String]
145
- # @param options [Hash]
146
- # @option options [String] :type
147
- # @option options [String, NilClass] :format
148
- # @option options [Integer, NilClass] :year
149
- def fetch_document(code, options)
150
- if registered_types.include?(options[:type])
151
- doc = Cli.relaton.fetch(code, options[:year]&.to_s)
152
- if doc
153
- options[:format] == "bibtex" ? doc.to_bibtex : doc.to_xml
154
- else
155
- "No matching bibliographic entry found"
156
- end
157
- end
158
- rescue RelatonBib::RequestError => e
159
- e.message
160
- end
150
+ desc "db SUBCOMMAND", "Cache DB manipulation"
151
+ subcommand "db", SubcommandDb
152
+ end
161
153
 
162
- def supported_type_message
163
- ["Recognised types:", registered_types.sort.join(", ")].join(" ")
154
+ private
155
+
156
+ # @param code [String]
157
+ # @param options [Hash]
158
+ # @option options [String] :type
159
+ # @option options [String, NilClass] :format
160
+ # @option options [Integer, NilClass] :year
161
+ # @return [String, nil]
162
+ def fetch_document(code, options) # rubocop:disable Metrics/CyclomaticComplexity,Metrics/PerceivedComplexity,Metrics/AbcSize
163
+ year = options[:year]&.to_s
164
+ if (processor = Relaton::Registry.instance.by_type options[:type]&.upcase)
165
+ doc = Relaton.db.fetch_std code, year, processor.short, options.dup
166
+ elsif options[:type] then return
167
+ else doc = Relaton.db.fetch(code, year, options.dup)
164
168
  end
169
+ return "No matching bibliographic entry found" unless doc
170
+
171
+ serialize doc, options[:format]
172
+ rescue RelatonBib::RequestError => e
173
+ e.message
174
+ end
165
175
 
166
- def registered_types
167
- @registered_types ||=
168
- Relaton::Registry.instance.processors.each.map { |_n, pr| pr.prefix }
176
+ # @param doc [RelatonBib::BibliographicItem]
177
+ # @param format [String]
178
+ # @return [String]
179
+ def serialize(doc, format)
180
+ case format
181
+ when "yaml", "yml" then doc.to_hash.to_yaml
182
+ when "bibtex" then doc.to_bibtex
183
+ else doc.to_xml
169
184
  end
170
185
  end
186
+
187
+ def supported_type_message
188
+ ["Recognised types:", registered_types.sort.join(", ")].join(" ")
189
+ end
190
+
191
+ def registered_types
192
+ @registered_types ||=
193
+ Relaton::Registry.instance.processors.each.map { |_n, pr| pr.prefix }
194
+ end
171
195
  end
172
196
  end
@@ -150,7 +150,7 @@ module Relaton
150
150
  mem << bibdata_instance(doc, xml[:file])
151
151
  else mem
152
152
  end
153
- end.uniq &:id
153
+ end
154
154
  end
155
155
 
156
156
  def concatenate_and_write_to_files
@@ -105,13 +105,13 @@ module Relaton
105
105
  "$HOME/.relaton/collections."
106
106
 
107
107
  def fetch(code)
108
- doc = Cli.relaton.fetch(code, options[:year]&.to_s)
108
+ doc = Relaton.db.fetch(code, options[:year]&.to_s)
109
109
  if doc
110
110
  colfile = File.join directory, options[:collection]
111
111
  coll = read_collection colfile
112
112
  coll << doc
113
113
  File.write colfile, coll.to_yaml, encoding: "UTF-8"
114
- else "No matching bibliographic entry found"
114
+ else warn "No matching bibliographic entry found"
115
115
  end
116
116
  end
117
117
 
@@ -0,0 +1,73 @@
1
+ module Relaton
2
+ module Cli
3
+ class SubcommandDb < Thor
4
+ include Relaton::Cli
5
+
6
+ desc "create DIR", "Create new cache DB. Default DIR is "\
7
+ "/home/user/.relaon/cache/"
8
+
9
+ def create(dir = nil)
10
+ db = Relaton.db (dir && File.expand_path(dir))
11
+ path = db.instance_variable_get(:@db).dir
12
+ warn "Cache DB is in \"#{path}\""
13
+ end
14
+
15
+ desc "mv DIR", "Move cache DB to a new directory"
16
+
17
+ def mv(dir)
18
+ new_path = File.expand_path dir
19
+ path = Relaton.db.mv new_path
20
+ if path
21
+ File.write Cli::RelatonDb::DBCONF, path, encoding: "UTF-8"
22
+ warn "Cache DB is moved to \"#{path}\""
23
+ end
24
+ end
25
+
26
+ desc "clear", "Clear cache DB"
27
+
28
+ def clear
29
+ Relaton.db.clear
30
+ warn "Cache DB is cleared"
31
+ end
32
+
33
+ desc "fetch CODE", "Fetch Relaton XML for Standard identifier CODE from "\
34
+ "cache DB"
35
+ option :type, aliases: :t, desc: "Type of standard to "\
36
+ "get bibliographic entry for"
37
+ option :format, aliases: :f, desc: "Output format (xml, yaml, bibtex). "\
38
+ "Default xml."
39
+ option :year, aliases: :y, type: :numeric, desc: "Year the standard was "\
40
+ "published"
41
+
42
+ def fetch(code)
43
+ io = IO.new($stdout.fcntl(::Fcntl::F_DUPFD), mode: "w:UTF-8")
44
+ opts = options.merge(fetch_db: true)
45
+ io.puts(fetch_document(code, opts) || supported_type_message)
46
+ end
47
+
48
+ desc "fetch_all TEXT", "Query for all documents in a cache DB for a "\
49
+ "certain string"
50
+ option :edition, aliases: :e, desc: "Filter entries by edition"
51
+ option :year, aliases: :y, desc: "Filter entries by year"
52
+ option :format, aliases: :f, desc: "Output format (xml, yaml, bibtex). "\
53
+ "Default xml."
54
+
55
+ def fetch_all(text = nil) # rubocop:disable Metrics/AbcSize
56
+ io = IO.new($stdout.fcntl(::Fcntl::F_DUPFD), mode: "w:UTF-8")
57
+ opts = options.each_with_object({}) do |(k, v), o|
58
+ o[k.to_sym] = v unless k == "format"
59
+ end
60
+ Relaton.db.fetch_all(text, **opts).each do |doc|
61
+ io.puts serialize(doc, options[:format])
62
+ end
63
+ end
64
+
65
+ desc "doctype REF", "Detect document type from REF"
66
+
67
+ def doctype(ref)
68
+ io = IO.new($stdout.fcntl(::Fcntl::F_DUPFD), mode: "w:UTF-8")
69
+ io.puts Relaton.db.docid_type(ref)
70
+ end
71
+ end
72
+ end
73
+ end
@@ -1,5 +1,5 @@
1
1
  module Relaton
2
2
  module Cli
3
- VERSION = "1.6.0".freeze
3
+ VERSION = "1.7.pre3".freeze
4
4
  end
5
5
  end
@@ -32,7 +32,7 @@ module Relaton::Cli
32
32
  # @param options [Hash]
33
33
  # @return [String] HTML
34
34
  def self.render(file, options)
35
- new(options).render(file)
35
+ new(**options).render(file)
36
36
  end
37
37
 
38
38
  private
@@ -37,7 +37,7 @@ module Relaton
37
37
  processor.hash_to_bib content
38
38
  else
39
39
  RelatonBib::BibliographicItem.new(
40
- RelatonBib::HashConverter::hash_to_bib(content)
40
+ **RelatonBib::HashConverter::hash_to_bib(content)
41
41
  )
42
42
  end
43
43
  end
data/relaton-cli.gemspec CHANGED
@@ -23,20 +23,19 @@ Gem::Specification.new do |spec|
23
23
  spec.required_ruby_version = ">= 2.4.0"
24
24
 
25
25
  spec.add_development_dependency "byebug", "~> 11.0"
26
- spec.add_development_dependency "debase"
26
+ # spec.add_development_dependency "debase"
27
27
  spec.add_development_dependency "equivalent-xml", "~> 0.6"
28
28
  spec.add_development_dependency "pry"
29
- spec.add_development_dependency "rake", "~> 12.0"
29
+ spec.add_development_dependency "rake"
30
30
  spec.add_development_dependency "rspec", "~> 3.0"
31
31
  spec.add_development_dependency "rspec-command", "~> 1.0.3"
32
32
  spec.add_development_dependency "rspec-core", "~> 3.4"
33
- spec.add_development_dependency "ruby-debug-ide"
33
+ # spec.add_development_dependency "ruby-debug-ide"
34
34
  spec.add_development_dependency "simplecov"
35
35
  spec.add_development_dependency "vcr"
36
36
  spec.add_development_dependency "webmock"
37
37
 
38
- spec.add_runtime_dependency "liquid"
39
- spec.add_runtime_dependency "relaton", "~> 1.6.0"
38
+ spec.add_runtime_dependency "liquid", "~> 4"
39
+ spec.add_runtime_dependency "relaton", "1.7.pre7"
40
40
  spec.add_runtime_dependency "thor"
41
- # spec.add_runtime_dependency 'byebug'
42
41
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: relaton-cli
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.6.0
4
+ version: 1.7.pre3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-11-13 00:00:00.000000000 Z
11
+ date: 2021-04-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: byebug
@@ -24,20 +24,6 @@ dependencies:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '11.0'
27
- - !ruby/object:Gem::Dependency
28
- name: debase
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - ">="
32
- - !ruby/object:Gem::Version
33
- version: '0'
34
- type: :development
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - ">="
39
- - !ruby/object:Gem::Version
40
- version: '0'
41
27
  - !ruby/object:Gem::Dependency
42
28
  name: equivalent-xml
43
29
  requirement: !ruby/object:Gem::Requirement
@@ -70,16 +56,16 @@ dependencies:
70
56
  name: rake
71
57
  requirement: !ruby/object:Gem::Requirement
72
58
  requirements:
73
- - - "~>"
59
+ - - ">="
74
60
  - !ruby/object:Gem::Version
75
- version: '12.0'
61
+ version: '0'
76
62
  type: :development
77
63
  prerelease: false
78
64
  version_requirements: !ruby/object:Gem::Requirement
79
65
  requirements:
80
- - - "~>"
66
+ - - ">="
81
67
  - !ruby/object:Gem::Version
82
- version: '12.0'
68
+ version: '0'
83
69
  - !ruby/object:Gem::Dependency
84
70
  name: rspec
85
71
  requirement: !ruby/object:Gem::Requirement
@@ -122,20 +108,6 @@ dependencies:
122
108
  - - "~>"
123
109
  - !ruby/object:Gem::Version
124
110
  version: '3.4'
125
- - !ruby/object:Gem::Dependency
126
- name: ruby-debug-ide
127
- requirement: !ruby/object:Gem::Requirement
128
- requirements:
129
- - - ">="
130
- - !ruby/object:Gem::Version
131
- version: '0'
132
- type: :development
133
- prerelease: false
134
- version_requirements: !ruby/object:Gem::Requirement
135
- requirements:
136
- - - ">="
137
- - !ruby/object:Gem::Version
138
- version: '0'
139
111
  - !ruby/object:Gem::Dependency
140
112
  name: simplecov
141
113
  requirement: !ruby/object:Gem::Requirement
@@ -182,30 +154,30 @@ dependencies:
182
154
  name: liquid
183
155
  requirement: !ruby/object:Gem::Requirement
184
156
  requirements:
185
- - - ">="
157
+ - - "~>"
186
158
  - !ruby/object:Gem::Version
187
- version: '0'
159
+ version: '4'
188
160
  type: :runtime
189
161
  prerelease: false
190
162
  version_requirements: !ruby/object:Gem::Requirement
191
163
  requirements:
192
- - - ">="
164
+ - - "~>"
193
165
  - !ruby/object:Gem::Version
194
- version: '0'
166
+ version: '4'
195
167
  - !ruby/object:Gem::Dependency
196
168
  name: relaton
197
169
  requirement: !ruby/object:Gem::Requirement
198
170
  requirements:
199
- - - "~>"
171
+ - - '='
200
172
  - !ruby/object:Gem::Version
201
- version: 1.6.0
173
+ version: 1.7.pre7
202
174
  type: :runtime
203
175
  prerelease: false
204
176
  version_requirements: !ruby/object:Gem::Requirement
205
177
  requirements:
206
- - - "~>"
178
+ - - '='
207
179
  - !ruby/object:Gem::Version
208
- version: 1.6.0
180
+ version: 1.7.pre7
209
181
  - !ruby/object:Gem::Dependency
210
182
  name: thor
211
183
  requirement: !ruby/object:Gem::Requirement
@@ -230,9 +202,7 @@ extra_rdoc_files:
230
202
  - docs/README.adoc
231
203
  - LICENSE
232
204
  files:
233
- - ".github/workflows/macos.yml"
234
- - ".github/workflows/ubuntu.yml"
235
- - ".github/workflows/windows.yml"
205
+ - ".github/workflows/rake.yml"
236
206
  - ".gitignore"
237
207
  - ".hound.yml"
238
208
  - ".rspec"
@@ -256,6 +226,7 @@ files:
256
226
  - lib/relaton/cli/full_text_search.rb
257
227
  - lib/relaton/cli/relaton_file.rb
258
228
  - lib/relaton/cli/subcommand_collection.rb
229
+ - lib/relaton/cli/subcommand_db.rb
259
230
  - lib/relaton/cli/version.rb
260
231
  - lib/relaton/cli/xml_convertor.rb
261
232
  - lib/relaton/cli/xml_to_html_renderer.rb
@@ -280,11 +251,11 @@ required_ruby_version: !ruby/object:Gem::Requirement
280
251
  version: 2.4.0
281
252
  required_rubygems_version: !ruby/object:Gem::Requirement
282
253
  requirements:
283
- - - ">="
254
+ - - ">"
284
255
  - !ruby/object:Gem::Version
285
- version: '0'
256
+ version: 1.3.1
286
257
  requirements: []
287
- rubygems_version: 3.0.6
258
+ rubygems_version: 3.2.3
288
259
  signing_key:
289
260
  specification_version: 4
290
261
  summary: Relaton Command-line Interface
@@ -1,34 +0,0 @@
1
- # Auto-generated by Cimas: Do not edit it manually!
2
- # See https://github.com/metanorma/cimas
3
- name: macos
4
-
5
- on:
6
- push:
7
- branches: [ master ]
8
- pull_request:
9
- branches: [ '**' ]
10
-
11
- jobs:
12
- test-macos:
13
- name: Test on Ruby ${{ matrix.ruby }} macOS
14
- runs-on: macos-latest
15
- strategy:
16
- fail-fast: false
17
- matrix:
18
- ruby: [ '2.6', '2.5', '2.4' ]
19
- steps:
20
- - uses: actions/checkout@master
21
- - name: Use Ruby
22
- uses: actions/setup-ruby@v1
23
- with:
24
- ruby-version: ${{ matrix.ruby }}
25
- architecture: 'x64'
26
- - name: Update gems
27
- run: |
28
- sudo gem install bundler --force
29
- ruby -v | grep 2.5 && bundle config set build.debase --with-cflags="-Wno-error=implicit-function-declaration"
30
- ruby -v | grep 2.5 && bundle config set build.ruby-debug-ide --with-cflags="-Wno-error=implicit-function-declaration"
31
- bundle install --jobs 4 --retry 3
32
- - name: Run specs
33
- run: |
34
- bundle exec rake
@@ -1,32 +0,0 @@
1
- # Auto-generated by Cimas: Do not edit it manually!
2
- # See https://github.com/metanorma/cimas
3
- name: ubuntu
4
-
5
- on:
6
- push:
7
- branches: [ master ]
8
- pull_request:
9
- branches: [ '**' ]
10
-
11
- jobs:
12
- test-linux:
13
- name: Test on Ruby ${{ matrix.ruby }} Ubuntu
14
- runs-on: ubuntu-latest
15
- strategy:
16
- fail-fast: false
17
- matrix:
18
- ruby: [ '2.6', '2.5', '2.4' ]
19
- steps:
20
- - uses: actions/checkout@master
21
- - name: Use Ruby
22
- uses: actions/setup-ruby@v1
23
- with:
24
- ruby-version: ${{ matrix.ruby }}
25
- architecture: 'x64'
26
- - name: Update gems
27
- run: |
28
- gem install bundler
29
- bundle install --jobs 4 --retry 3
30
- - name: Run specs
31
- run: |
32
- bundle exec rake
@@ -1,35 +0,0 @@
1
- # Auto-generated by Cimas: Do not edit it manually!
2
- # See https://github.com/metanorma/cimas
3
- name: windows
4
-
5
- on:
6
- push:
7
- branches: [ master ]
8
- pull_request:
9
- branches: [ '**' ]
10
-
11
- jobs:
12
- test-windows:
13
- name: Test on Ruby ${{ matrix.ruby }} Windows
14
- runs-on: windows-latest
15
- strategy:
16
- fail-fast: false
17
- matrix:
18
- ruby: [ '2.6', '2.5', '2.4' ]
19
- steps:
20
- - uses: actions/checkout@master
21
- - name: Use Ruby
22
- uses: actions/setup-ruby@v1
23
- with:
24
- ruby-version: ${{ matrix.ruby }}
25
- architecture: 'x64'
26
- - name: Update gems
27
- shell: pwsh
28
- run: |
29
- gem install bundler
30
- bundle config --local path vendor/bundle
31
- bundle update
32
- bundle install --jobs 4 --retry 3
33
- - name: Run specs
34
- run: |
35
- bundle exec rake