msfl_visitors 1.2.2 → 1.2.3

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
  SHA1:
3
- metadata.gz: 9034deaf33e2dc713ac8c225d95a61e86bf4675b
4
- data.tar.gz: 4e5b5bf770f44570ba3ff76abb18ad5240402d26
3
+ metadata.gz: e4f7b46f12ec1e288ad1b62e983c0585a6194b5c
4
+ data.tar.gz: 01bf0621c30d745039618cd6f8ce71927fe13e1d
5
5
  SHA512:
6
- metadata.gz: 706020e9e35ecdcd3db76bde6593234893a529347a9325b4225bc3523869f84694e09aedb351107ea612475232558264a0c34e41a2ff38beeb5a581ec088e303
7
- data.tar.gz: 3af6d7ca76791c93653bd9a80a554218effef11925e8a9c2f704eea86a1b52820b9d2c1a1320d8a56520ded49c878667c24317c0faf55d859b8f7d2bc1231278
6
+ metadata.gz: 1be1ea7b20669e7205edf8dd164ba9799cc67995c5dff2b41706b2259a2f62ec8af4b75ad3e612fdeaf8782797ca2c43df1ceb7e207c80787b41cfd4452ccf6e
7
+ data.tar.gz: 5a5c14a0c70f0bb6e6273e3450f46216bd183766ba1539d0690fb3a52b2a3ccb1a825c8d3b83984f64f4faac7b769545579533d5b55c30422abe35dde1e522e7
@@ -112,7 +112,7 @@ module MSFLVisitors
112
112
  when Nodes::Match
113
113
  if node.right.is_a? Nodes::Set
114
114
  escaped_str_frags = node.right.contents.map { |right_child| composable_expr_for(MSFLVisitors::Nodes::Regex.new(right_child.value.to_s).accept(visitor).inspect) }
115
- escaped_str = escaped_str_frags.join('|')
115
+ escaped_str = "(" + escaped_str_frags.join('|') + ")"
116
116
  "#{node.left.accept(visitor)} #{BINARY_OPERATORS[node.class]} " + %r[.*#{escaped_str}.*].inspect
117
117
  else
118
118
  "#{node.left.accept(visitor)} #{BINARY_OPERATORS[node.class]} " + MSFLVisitors::Nodes::Regex.new(node.right.value.to_s).accept(visitor).inspect
@@ -188,8 +188,7 @@ module MSFLVisitors
188
188
 
189
189
  when Nodes::Match
190
190
  if node.right.is_a? Nodes::Set
191
- regex = node.right.contents.map { |right_child| MSFLVisitors::Nodes::Regex.new(right_child.value.to_s).accept(visitor) }.join('|')
192
- # regex = node.right.contents.map { |right_child| right_child.value.to_s }.join('|')
191
+ regex = "(" + node.right.contents.map { |right_child| MSFLVisitors::Nodes::Regex.new(right_child.value.to_s).accept(visitor) }.join('|') + ")"
193
192
  { agg_field_name: node.left.accept(visitor), operator: :match, test_value: regex }
194
193
  else
195
194
  { agg_field_name: node.left.accept(visitor), operator: :match, test_value: MSFLVisitors::Nodes::Regex.new(node.right.value.to_s).accept(visitor) }
@@ -246,6 +245,7 @@ module MSFLVisitors
246
245
  attr_reader :visitor
247
246
  end
248
247
 
248
+ # ESTermFilterVisitor is not currently used and so not all node types are implemented
249
249
  class ESTermFilterVisitor
250
250
  def initialize(visitor)
251
251
  @visitor = visitor
@@ -1,7 +1,7 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'msfl_visitors'
3
- s.version = '1.2.2'
4
- s.date = '2015-07-06'
3
+ s.version = '1.2.3'
4
+ s.date = '2015-07-09'
5
5
  s.summary = "Convert MSFL to other forms"
6
6
  s.description = "Visitor pattern approach to converting MSFL to other forms."
7
7
  s.authors = ["Courtland Caldwell"]
@@ -321,8 +321,8 @@ describe MSFLVisitors::Visitor do
321
321
 
322
322
  context "when using the TermFilter visitor" do
323
323
 
324
- it "results in: 'left =~ /.*foo|bar|baz.*/'" do
325
- expect(result).to eq %(lhs =~ ) + /.*foo|bar|baz.*/.inspect
324
+ it "results in: 'left =~ /.*(foo|bar|baz).*/'" do
325
+ expect(result).to eq %(lhs =~ ) + /.*(foo|bar|baz).*/.inspect
326
326
  end
327
327
 
328
328
  context "when one of the members of the Set requires escaping" do
@@ -330,7 +330,7 @@ describe MSFLVisitors::Visitor do
330
330
  let(:foo_node) { MSFLVisitors::Nodes::Word.new "please&*escape me" }
331
331
 
332
332
  it "escapes special characters" do
333
- expect(result).to eq %(lhs =~ ) + /.*please\&\*escape\ me|bar|baz.*/.inspect
333
+ expect(result).to eq %(lhs =~ ) + /.*(please\&\*escape\ me|bar|baz).*/.inspect
334
334
  end
335
335
  end
336
336
  end
@@ -339,16 +339,17 @@ describe MSFLVisitors::Visitor do
339
339
 
340
340
  before { visitor.mode = :aggregations }
341
341
 
342
- it "results in: { agg_field_name: :lhs, operator: :match, test_value: \"foo|bar|baz\" }" do
343
- expect(result).to eq({agg_field_name: :lhs, operator: :match, test_value: "foo|bar|baz"})
342
+ it "results in: { agg_field_name: :lhs, operator: :match, test_value: \"(foo|bar|baz)\" }" do
343
+ expect(result).to eq({agg_field_name: :lhs, operator: :match, test_value: "(foo|bar|baz)"})
344
344
  end
345
345
 
346
346
  context "when one of the members of the Set requires escaping" do
347
347
 
348
348
  let(:foo_node) { MSFLVisitors::Nodes::Word.new "please&*escape me" }
349
349
 
350
- it "results in { agg_field_name: :lhs, operator: :match, test_value: \"please\\&\\*escape\\ me }" do
351
- expected = { agg_field_name: :lhs, operator: :match, test_value: "please\\&\\*escape\\ me" }
350
+ it "results in { agg_field_name: :lhs, operator: :match, test_value: \"(please\\&\\*escape\\ me|bar|baz) }" do
351
+ expected = { agg_field_name: :lhs, operator: :match, test_value: "(please\\&\\*escape\\ me|bar|baz)" }
352
+ expect(result).to eq expected
352
353
  end
353
354
  end
354
355
  end
metadata CHANGED
@@ -1,103 +1,103 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: msfl_visitors
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.2
4
+ version: 1.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Courtland Caldwell
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-07-06 00:00:00.000000000 Z
11
+ date: 2015-07-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: msfl
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ~>
18
18
  - !ruby/object:Gem::Version
19
19
  version: '1.2'
20
- - - ">="
20
+ - - '>='
21
21
  - !ruby/object:Gem::Version
22
22
  version: 1.2.1
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
- - - "~>"
27
+ - - ~>
28
28
  - !ruby/object:Gem::Version
29
29
  version: '1.2'
30
- - - ">="
30
+ - - '>='
31
31
  - !ruby/object:Gem::Version
32
32
  version: 1.2.1
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: rake
35
35
  requirement: !ruby/object:Gem::Requirement
36
36
  requirements:
37
- - - "~>"
37
+ - - ~>
38
38
  - !ruby/object:Gem::Version
39
39
  version: '10.3'
40
40
  type: :development
41
41
  prerelease: false
42
42
  version_requirements: !ruby/object:Gem::Requirement
43
43
  requirements:
44
- - - "~>"
44
+ - - ~>
45
45
  - !ruby/object:Gem::Version
46
46
  version: '10.3'
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: simplecov
49
49
  requirement: !ruby/object:Gem::Requirement
50
50
  requirements:
51
- - - "~>"
51
+ - - ~>
52
52
  - !ruby/object:Gem::Version
53
53
  version: '0.10'
54
54
  type: :development
55
55
  prerelease: false
56
56
  version_requirements: !ruby/object:Gem::Requirement
57
57
  requirements:
58
- - - "~>"
58
+ - - ~>
59
59
  - !ruby/object:Gem::Version
60
60
  version: '0.10'
61
61
  - !ruby/object:Gem::Dependency
62
62
  name: yard
63
63
  requirement: !ruby/object:Gem::Requirement
64
64
  requirements:
65
- - - "~>"
65
+ - - ~>
66
66
  - !ruby/object:Gem::Version
67
67
  version: '0.8'
68
68
  type: :development
69
69
  prerelease: false
70
70
  version_requirements: !ruby/object:Gem::Requirement
71
71
  requirements:
72
- - - "~>"
72
+ - - ~>
73
73
  - !ruby/object:Gem::Version
74
74
  version: '0.8'
75
75
  - !ruby/object:Gem::Dependency
76
76
  name: rspec
77
77
  requirement: !ruby/object:Gem::Requirement
78
78
  requirements:
79
- - - "~>"
79
+ - - ~>
80
80
  - !ruby/object:Gem::Version
81
81
  version: '3.2'
82
82
  type: :development
83
83
  prerelease: false
84
84
  version_requirements: !ruby/object:Gem::Requirement
85
85
  requirements:
86
- - - "~>"
86
+ - - ~>
87
87
  - !ruby/object:Gem::Version
88
88
  version: '3.2'
89
89
  - !ruby/object:Gem::Dependency
90
90
  name: byebug
91
91
  requirement: !ruby/object:Gem::Requirement
92
92
  requirements:
93
- - - "~>"
93
+ - - ~>
94
94
  - !ruby/object:Gem::Version
95
95
  version: '4.0'
96
96
  type: :development
97
97
  prerelease: false
98
98
  version_requirements: !ruby/object:Gem::Requirement
99
99
  requirements:
100
- - - "~>"
100
+ - - ~>
101
101
  - !ruby/object:Gem::Version
102
102
  version: '4.0'
103
103
  description: Visitor pattern approach to converting MSFL to other forms.
@@ -106,7 +106,7 @@ executables: []
106
106
  extensions: []
107
107
  extra_rdoc_files: []
108
108
  files:
109
- - ".gitignore"
109
+ - .gitignore
110
110
  - Gemfile
111
111
  - Gemfile.lock
112
112
  - LICENSE
@@ -168,17 +168,17 @@ require_paths:
168
168
  - lib
169
169
  required_ruby_version: !ruby/object:Gem::Requirement
170
170
  requirements:
171
- - - ">="
171
+ - - '>='
172
172
  - !ruby/object:Gem::Version
173
173
  version: '0'
174
174
  required_rubygems_version: !ruby/object:Gem::Requirement
175
175
  requirements:
176
- - - ">="
176
+ - - '>='
177
177
  - !ruby/object:Gem::Version
178
178
  version: '0'
179
179
  requirements: []
180
180
  rubyforge_project:
181
- rubygems_version: 2.2.2
181
+ rubygems_version: 2.4.2
182
182
  signing_key:
183
183
  specification_version: 4
184
184
  summary: Convert MSFL to other forms