msfl_visitors 1.2.2 → 1.2.3

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
  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