stepmod-utils 0.3.4 → 0.3.5

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: 887612180cfe004fb244d41e7c553858ed441d5e4c60c8d27d06fb7ec3219cd2
4
- data.tar.gz: f7f25caa5652593b6eafcb792206614f2b053e56a0dd05801018e2217533b636
3
+ metadata.gz: e4b01b98d2e819f59adda9b7583eb65e0f3f17c67b57e297d4c63a28587a9c81
4
+ data.tar.gz: 274c0b90422ffb4f51134c49c4b1f8b9b8d4319b4369fd26baccf6191cf11183
5
5
  SHA512:
6
- metadata.gz: 41057b14b1c6ab326dff8e402be3a74737e9479212a76577a9ef81738da9f542ab6cbd892723949b004a2a6ff6058525aed5de47b1fbe3859ac139a724028608
7
- data.tar.gz: 519d9daa5451c17f60e6e2e764405908bf7e3c9f6b7279dcef9ee2bb554c63a0535b1e63c3aaed178549413a2253e24a3687c86d1ad60c8fa569c65aed756647
6
+ metadata.gz: 74483e26bbfdbb7dd5827ebf8d1b7270b13cf35765107830a7d5ce29239d4fa865804e6384ba092f7209fdc7ab91387f8841791822deb6da45d97f37d1621e82
7
+ data.tar.gz: 9d130371dc91aa996896c79c3d3a7ff4be703d258030e9d2aee64212add70b79f8fdc9962c9d3d2d1d309d8e5c771817a22f44ff515f3702c014c859c9013dd0
@@ -16,19 +16,9 @@ jobs:
16
16
  strategy:
17
17
  fail-fast: false
18
18
  matrix:
19
- ruby: [ '2.7', '2.6', '2.5', '2.4' ]
19
+ ruby: [ '3.0', '2.7', '2.6', '2.5', '2.4' ]
20
20
  os: [ ubuntu-latest, windows-latest, macos-latest ]
21
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
22
  steps:
33
23
  - uses: actions/checkout@v2
34
24
  with:
@@ -9,7 +9,7 @@ on:
9
9
  description: |
10
10
  Next release version. Possible values: x.y.z, major, minor, patch or pre|rc|etc
11
11
  required: true
12
- default: 'patch'
12
+ default: 'skip'
13
13
  push:
14
14
  tags: [ v* ]
15
15
 
@@ -22,10 +22,11 @@ jobs:
22
22
  - uses: ruby/setup-ruby@v1
23
23
  with:
24
24
  ruby-version: '2.6'
25
+ bundler-cache: true
25
26
 
26
27
  - run: gem install gem-release
27
28
 
28
- - if: ${{ github.event_name == 'workflow_dispatch' }}
29
+ - if: ${{ github.event_name == 'workflow_dispatch' }} && ${{ github.event.inputs.next_version != 'skip' }}
29
30
  run: |
30
31
  git config user.name github-actions
31
32
  git config user.email github-actions@github.com
@@ -36,7 +37,7 @@ jobs:
36
37
  RUBYGEMS_API_KEY: ${{secrets.METANORMA_CI_RUBYGEMS_API_KEY}}
37
38
  run: |
38
39
  gem install gem-release
39
- cat > ~/.gem/credentials << EOF
40
+ envsubst << 'EOF' > ~/.gem/credentials
40
41
  ---
41
42
  :rubygems_api_key: ${RUBYGEMS_API_KEY}
42
43
  EOF
data/.hound.yml ADDED
@@ -0,0 +1,5 @@
1
+ # Auto-generated by Cimas: Do not edit it manually!
2
+ # See https://github.com/metanorma/cimas
3
+ ruby:
4
+ enabled: true
5
+ config_file: .rubocop.yml
data/.rubocop.yml ADDED
@@ -0,0 +1,10 @@
1
+ # Auto-generated by Cimas: Do not edit it manually!
2
+ # See https://github.com/metanorma/cimas
3
+ inherit_from:
4
+ - https://raw.githubusercontent.com/riboseinc/oss-guides/master/ci/rubocop.yml
5
+
6
+ # local repo-specific modifications
7
+ # ...
8
+
9
+ AllCops:
10
+ TargetRubyVersion: 2.4
@@ -20,32 +20,87 @@ module Stepmod
20
20
  end
21
21
  end
22
22
 
23
- def self.parse(definition_xml, reference_anchor:, reference_clause:, file_path:)
24
- converted_definition = Stepmod::Utils::StepmodDefinitionConverter.convert(
25
- definition_xml,
23
+ class << self
24
+ def parse(definition_xml, reference_anchor:, reference_clause:, file_path:)
25
+ converted_definition = Stepmod::Utils::StepmodDefinitionConverter.convert(
26
+ definition_xml,
27
+ {
28
+ # We don't want examples and notes
29
+ no_notes_examples: true,
30
+ reference_anchor: reference_anchor
31
+ }
32
+ )
33
+
34
+ return nil if converted_definition.nil? || converted_definition.strip.empty?
35
+
36
+ if definition_xml.name == 'ext_description'
37
+ converted_definition = <<~TEXT
38
+ #{converted_definition}
39
+
40
+ NOTE: This term is incompletely defined in this document.
41
+ Reference <<#{reference_anchor}>> for the complete definition.
42
+ TEXT
43
+ end
44
+ # https://github.com/metanorma/stepmod-utils/issues/86
45
+ if definition_xml.name == 'definition'
46
+ designation = definition_designation(definition_xml)
47
+ definition = definition_xml_definition(definition_xml, reference_anchor)
48
+ converted_definition = definition_xml_converted_definition(designation, definition).strip
49
+ end
50
+ new(
51
+ designation: designation,
52
+ definition: definition,
53
+ converted_definition: converted_definition,
54
+ reference_anchor: reference_anchor,
55
+ reference_clause: reference_clause,
56
+ file_path: file_path
57
+ )
58
+ end
59
+
60
+ def definition_designation(definition_xml)
61
+ alts = definition_xml.xpath('.//def/p').map(&:text)
26
62
  {
27
- # We don't want examples and notes
28
- no_notes_examples: true,
29
- reference_anchor: reference_anchor
63
+ accepted: definition_xml.xpath('.//term').first&.text,
64
+ alt: alts
30
65
  }
31
- )
66
+ end
32
67
 
33
- return nil if converted_definition.nil? || converted_definition.strip.empty?
68
+ def definition_xml_definition(definition_xml, reference_anchor)
69
+ text_nodes = definition_xml
70
+ .xpath('.//def')
71
+ .first
72
+ .children
73
+ .reject { |n| n.name == 'p' }
74
+ wrapper = "<def>#{text_nodes.map(&:to_s).join}</def>"
75
+ Stepmod::Utils::Converters::Def
76
+ .new
77
+ .convert(
78
+ Nokogiri::XML(wrapper).root,
79
+ {
80
+ # We don't want examples and notes
81
+ no_notes_examples: true,
82
+ reference_anchor: reference_anchor
83
+ })
84
+ end
34
85
 
35
- if definition_xml.name == 'ext_description'
36
- converted_definition = <<~TEXT
37
- #{converted_definition}
86
+ def definition_xml_converted_definition(designation, definition)
87
+ if designation[:alt].length.positive?
88
+ alt_notation = "alt:[#{designation[:alt].map(&:strip).join(',')}]"
89
+ end
90
+ result = <<~TEXT
91
+ === #{designation[:accepted]}
92
+ TEXT
93
+ if alt_notation
94
+ result += <<~TEXT
38
95
 
39
- NOTE: This term is incompletely defined in this document.
40
- Reference <<#{reference_anchor}>> for the complete definition.
96
+ #{alt_notation}
97
+ TEXT
98
+ end
99
+ <<~TEXT
100
+ #{result}
101
+ #{definition}
41
102
  TEXT
42
103
  end
43
- new(
44
- converted_definition: converted_definition,
45
- reference_anchor: reference_anchor,
46
- reference_clause: reference_clause,
47
- file_path: file_path
48
- )
49
104
  end
50
105
 
51
106
  def to_mn_adoc
@@ -1,5 +1,5 @@
1
1
  module Stepmod
2
2
  module Utils
3
- VERSION = "0.3.4"
3
+ VERSION = "0.3.5"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: stepmod-utils
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.4
4
+ version: 0.3.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-05-26 00:00:00.000000000 Z
11
+ date: 2021-06-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor
@@ -98,7 +98,9 @@ files:
98
98
  - ".github/workflows/rake.yml"
99
99
  - ".github/workflows/release.yml"
100
100
  - ".gitignore"
101
+ - ".hound.yml"
101
102
  - ".rspec"
103
+ - ".rubocop.yml"
102
104
  - CODE_OF_CONDUCT.md
103
105
  - Gemfile
104
106
  - Makefile
@@ -178,7 +180,7 @@ homepage: https://github.com/metanorma/stepmod-utils
178
180
  licenses:
179
181
  - BSD-2-Clause
180
182
  metadata: {}
181
- post_install_message:
183
+ post_install_message:
182
184
  rdoc_options: []
183
185
  require_paths:
184
186
  - lib
@@ -193,8 +195,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
193
195
  - !ruby/object:Gem::Version
194
196
  version: '0'
195
197
  requirements: []
196
- rubygems_version: 3.0.3.1
197
- signing_key:
198
+ rubygems_version: 3.1.6
199
+ signing_key:
198
200
  specification_version: 4
199
201
  summary: Stepmod-utils is a toolkit that works on STEPmod data.
200
202
  test_files: []