srx 0.3.0 → 0.4.0
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 +4 -4
- data/CHANGELOG.md +4 -0
- data/Gemfile.lock +1 -1
- data/lib/srx/data.rb +7 -7
- data/lib/srx/engine.rb +7 -7
- data/lib/srx/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: dd12a62cf9596aa2792d986d8bb7c63d2b624d15a8e3f87053fb5ac3baa36a94
|
4
|
+
data.tar.gz: 358ccbb5310e6ca626a5459130c63a14c429043c0cc2d6333e49dbef7657448a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ec8d917c4ef8710f8e79bdeeb9ee88c23c3696f84689e1eec44a2559c85763a69530b99d8e2a104949d57349d7f1948f12c264a5fe341d5fe08deec350e5daf3
|
7
|
+
data.tar.gz: b3b8c1e7db078cc1d8792b59b47d009bbee104af387cec6eacf060aa3e22d126710db8752de68f8b11dd328d3a88a83fe65ea871ae4f623412108517729a2897
|
data/CHANGELOG.md
CHANGED
data/Gemfile.lock
CHANGED
data/lib/srx/data.rb
CHANGED
@@ -43,23 +43,23 @@ module Srx
|
|
43
43
|
end
|
44
44
|
|
45
45
|
def segment_subflows?
|
46
|
-
header['segmentsubflows'] == 'yes'
|
46
|
+
@segment_subflows ||= header['segmentsubflows'] == 'yes'
|
47
47
|
end
|
48
48
|
|
49
49
|
def cascade?
|
50
|
-
header['cascade'] == 'yes'
|
50
|
+
@cascade ||= header['cascade'] == 'yes'
|
51
51
|
end
|
52
52
|
|
53
53
|
def include_start_formatting?
|
54
|
-
include_formatting?(:start)
|
54
|
+
@include_start_formatting ||= include_formatting?(:start)
|
55
55
|
end
|
56
56
|
|
57
57
|
def include_end_formatting?
|
58
|
-
include_formatting?(:end)
|
58
|
+
@include_end_formatting ||= include_formatting?(:end)
|
59
59
|
end
|
60
60
|
|
61
61
|
def include_isolated_formatting?
|
62
|
-
include_formatting?(:isolated)
|
62
|
+
@include_isolated_formatting ||= include_formatting?(:isolated)
|
63
63
|
end
|
64
64
|
|
65
65
|
# @return [Array<LanguageRule>]
|
@@ -108,7 +108,7 @@ module Srx
|
|
108
108
|
class LanguageRule < XmlWrapper
|
109
109
|
# @return [String]
|
110
110
|
def name
|
111
|
-
@xml['languagerulename']
|
111
|
+
@name ||= @xml['languagerulename']
|
112
112
|
end
|
113
113
|
|
114
114
|
# @return [Array<Rule>]
|
@@ -155,7 +155,7 @@ module Srx
|
|
155
155
|
class LanguageMap < XmlWrapper
|
156
156
|
# @return [String]
|
157
157
|
def language_rule_name
|
158
|
-
@xml['languagerulename']
|
158
|
+
@language_rule_name ||= @xml['languagerulename']
|
159
159
|
end
|
160
160
|
|
161
161
|
# @return [Regexp]
|
data/lib/srx/engine.rb
CHANGED
@@ -65,13 +65,13 @@ module Srx
|
|
65
65
|
# position. Note that the final break will always be at the end of the
|
66
66
|
# string and may not have an associated rule.
|
67
67
|
def breaks_by_pos(str, rules)
|
68
|
-
rules
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
68
|
+
grouped = rules.flat_map { |rule| all_matches(str, rule) }
|
69
|
+
.group_by(&:first)
|
70
|
+
grouped.transform_values! { |pairs| pairs.first.last }
|
71
|
+
grouped.select! { |_pos, rule| rule.break? }
|
72
|
+
result = grouped.sort_by(&:first)
|
73
|
+
result << [str.length] unless result.last&.first == str.length
|
74
|
+
result
|
75
75
|
end
|
76
76
|
|
77
77
|
# @param str [String]
|
data/lib/srx/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: srx
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Aaron Madlon-Kay
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-02-
|
11
|
+
date: 2021-02-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: nokogiri
|