stepmod-utils 0.4.11 → 0.4.13

Sign up to get free protection for your applications and to get access to all the features.
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