stepmod-utils 0.4.11 → 0.4.13

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: 296bedce77d49f689fc8161ed77ddd424a1b9022e775af93f6447b296f4dbcd6
4
- data.tar.gz: 8993deac9d2b6bd9bb5bd2eec97467cd689c538e68c71854ac0d4f9fb34690e9
3
+ metadata.gz: 58a97c3c7381351ce5d0ff391e65f6b5d62ce52f541d51975b53c6e4793b5ae0
4
+ data.tar.gz: dd7d17312e634aaab93688e8f3fdee84e1895c025d74dd0a505fd357ea336756
5
5
  SHA512:
6
- metadata.gz: 56091728db55f406000ad1d1de90840d847535cb1e5407ee9425e3ded01ccf486938a441d9e52364c3cba7d7b6418492a7fd84f0575a2662a676e59b42d954e3
7
- data.tar.gz: 8149e8f62391e52989a51de7bf95d661b8f73d9f687387cb29ad943b7d1c7b8afec89996c39cea23b446e66114fcff37a20a4e0e3bcf5bffb73fdae6a75496a6
6
+ metadata.gz: 896b518262254a61c6e0e6a5df7fe5fd992eef5f9a1fb1f9136ee0753a6dc649c9c1ba07fe192c939cfa51b545a4749ffa2610aa9dc4c609b2f7e9385f917437
7
+ data.tar.gz: 54f31dabc624b11cfe48dde83bd0108c07692c4d3d55ee49a7f70ab518cae6914a9013e99f232d1b0c95e2798627904b3f895dad0ff8b47a48d0cd28ed117f21
@@ -64,7 +64,7 @@ module Stepmod
64
64
  options = {
65
65
  schema_name: schema_name,
66
66
  version: change_node.attr("version"),
67
- description: converted_description(change_node.at("description")),
67
+ description: converted_description(change_node.xpath("description").first),
68
68
  }
69
69
 
70
70
  MODULE_TYPES.each do |type|
@@ -132,9 +132,11 @@ module Stepmod
132
132
 
133
133
  def extract_change_edition(schema_changes, options)
134
134
  type = options[:type] || "schema"
135
- addition_nodes = schema_changes&.xpath("#{type}.additions") || []
136
- modification_nodes = schema_changes&.xpath("#{type}.modifications") || []
137
- deletion_nodes = schema_changes&.xpath("#{type}.deletions") || []
135
+ node_type = type.gsub("_longform", "")
136
+
137
+ addition_nodes = schema_changes&.xpath("#{node_type}.additions") || []
138
+ modification_nodes = schema_changes&.xpath("#{node_type}.modifications") || []
139
+ deletion_nodes = schema_changes&.xpath("#{node_type}.deletions") || []
138
140
 
139
141
  {
140
142
  version: options[:version],
@@ -59,7 +59,7 @@ module Stepmod
59
59
  internal_content = treat_children(cloned_node, state.merge(equation: true))
60
60
  content = Stepmod::Utils::HtmlToAsciimath.new.call(internal_content)
61
61
  res = <<~TEMPLATE
62
-
62
+ #{source_type_comment(cloned_node)}
63
63
  [stem]
64
64
  ++++
65
65
  #{remove_trash_symbols(content.strip)}
@@ -71,6 +71,10 @@ module Stepmod
71
71
  res
72
72
  end
73
73
 
74
+ def source_type_comment(node)
75
+ "\n// source type is bigeqn\n" if node.name == "bigeqn"
76
+ end
77
+
74
78
  def remove_trash_symbols(content)
75
79
  content
76
80
  .gsub(/ /, "")
@@ -118,6 +122,7 @@ module Stepmod
118
122
  end
119
123
 
120
124
  ReverseAdoc::Converters.register :eqn, Eqn.new
125
+ ReverseAdoc::Converters.register :bigeqn, Eqn.new
121
126
  end
122
127
  end
123
128
  end
@@ -4,7 +4,6 @@ module Stepmod
4
4
  module Utils
5
5
  module Converters
6
6
  class Table < Stepmod::Utils::Converters::Base
7
-
8
7
  def self.pattern(state, id)
9
8
  if state[:schema_and_entity].nil?
10
9
  raise StandardError.new("[table]: no state given, #{id}")
@@ -23,8 +22,14 @@ module Stepmod
23
22
  title = node["caption"].to_s
24
23
  title = ".#{title}\n" unless title.empty?
25
24
  attrs = style(node)
26
- "\n\n#{anchor}#{attrs}#{title}|===\n#{treat_children(node,
27
- state)}\n|===\n"
25
+
26
+ <<~TABLE
27
+
28
+
29
+ #{anchor}#{attrs}#{title}|===
30
+ #{treat_children(node, state.merge(inside_table: true))}
31
+ |===
32
+ TABLE
28
33
  end
29
34
 
30
35
  def frame(node)
@@ -8,7 +8,7 @@ module Stepmod
8
8
  if node.text.strip.empty?
9
9
  treat_empty(node, state)
10
10
  else
11
- treat_text(node)
11
+ treat_text(node, state)
12
12
  end
13
13
  end
14
14
 
@@ -27,21 +27,26 @@ module Stepmod
27
27
  end
28
28
  end
29
29
 
30
- def treat_text(node)
30
+ def treat_text(node, state)
31
31
  text = node.text
32
32
  text = preserve_nbsp(text)
33
33
  text = remove_inner_newlines(text)
34
34
  text = remove_border_newlines(text)
35
35
 
36
36
  text = preserve_keychars_within_backticks(text)
37
- preserve_tags(text)
37
+
38
+ text = preserve_pipes_within_tables(text, state)
39
+ text = wrap_if_contains_spaces(text, state)
40
+ preserve_tags(text, state)
38
41
  end
39
42
 
40
43
  def preserve_nbsp(text)
41
44
  text.gsub(/\u00A0/, "&nbsp;")
42
45
  end
43
46
 
44
- def preserve_tags(text)
47
+ def preserve_tags(text, state)
48
+ return text if state[:inside_table]
49
+
45
50
  text.gsub(/[<>]/, ">" => '\>', "<" => '\<')
46
51
  end
47
52
 
@@ -49,6 +54,12 @@ module Stepmod
49
54
  text.gsub(/\A\n+/, "").gsub(/\n+\z/, "")
50
55
  end
51
56
 
57
+ def wrap_if_contains_spaces(text, state)
58
+ return "(#{text})" if state[:equation] && text.strip.match?(/\s/) && text.match?(/^[A-Za-z ]+$/)
59
+
60
+ text
61
+ end
62
+
52
63
  def remove_inner_newlines(text)
53
64
  text.tr("\n\t", " ").squeeze(" ")
54
65
  end
@@ -58,6 +69,12 @@ module Stepmod
58
69
  match.gsub('\_', "_").gsub('\*', "*")
59
70
  end
60
71
  end
72
+
73
+ def preserve_pipes_within_tables(text, state)
74
+ return text unless state[:inside_table]
75
+
76
+ text.gsub("|", "\\|")
77
+ end
61
78
  end
62
79
 
63
80
  ReverseAdoc::Converters.register :text, Text.new
@@ -1,5 +1,5 @@
1
1
  module Stepmod
2
2
  module Utils
3
- VERSION = "0.4.11".freeze
3
+ VERSION = "0.4.13".freeze
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.4.11
4
+ version: 0.4.13
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-12-23 00:00:00.000000000 Z
11
+ date: 2024-01-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: concurrent-ruby