msfl_visitors 0.3.0.dev6 → 0.3.0.dev7

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: bf62249c0dac5ff2ae2537406f87989007141dbd
4
- data.tar.gz: c98ec078a520735c4b64cefec4e04f6939f981fc
3
+ metadata.gz: 81c17ec053d98d942d10f13579e2030a42ee7fcf
4
+ data.tar.gz: 16a5e7658c183b6ed1c01df9b9f4e7ef21bd0870
5
5
  SHA512:
6
- metadata.gz: 6a2607260acd278637f603c69a7f1c520126da9dd6ad0e777b5670a3ee54c2d9de77109bf55f650be7cf987516fc1cd0bb75af1a0338225da240cb1cd1222a0f
7
- data.tar.gz: 6cf9d405e4bf47acf71cac765d04590734b9c266bc679c25a62b6f4ca73dbe57101c5379aca338a607cf4e119cf932b6b047037aa1b734ea8ba20668450d04e7
6
+ metadata.gz: 75f3704f5245b9fa94d557c7a3125b118674f10553790700c6fdf84dc2581b112c904c0726e73a6be8215f76b27695be9fb60a390a2e26a618293f31d948c53c
7
+ data.tar.gz: a698aef66b54a979f08026693176e1a857a6a5723904b280868f5143633cfa71fafdac8abd0ecc4bb4ed22603a3e5610904c0eef331308e059d0a480bfd02102
@@ -159,7 +159,7 @@ module MSFLVisitors
159
159
  [:filter, node.contents.first.accept(visitor)]
160
160
  when Nodes::ExplicitFilter
161
161
  # [:filter, node.contents.map { |n| n.accept(visitor) }.reduce({}) { |hsh, x| hsh.merge!(x); hsh } ]
162
- node.contents.map { |n| n.accept(visitor) }
162
+ node.contents.map { |n| n.accept(visitor) }.first
163
163
  when Nodes::NamedValue
164
164
  # [:aggs, {node.name.accept(visitor).to_sym => Hash[[node.value.accept(visitor)]]}]
165
165
  node.value.accept(visitor)
@@ -177,7 +177,7 @@ module MSFLVisitors
177
177
  { and: node.set.accept(visitor) }
178
178
 
179
179
  when Nodes::Foreign
180
- { foreign: Hash[[[:type, node.left.accept(visitor)], [:filter, *node.right.accept(visitor)]]] }
180
+ { foreign: Hash[[[:type, node.left.accept(visitor)], [:filter, node.right.accept(visitor)]]] }
181
181
 
182
182
  else
183
183
  fail ArgumentError, "AGGREGATIONS cannot visit: #{node.class.name}"
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'msfl_visitors'
3
- s.version = '0.3.0.dev6'
3
+ s.version = '0.3.0.dev7'
4
4
  s.date = '2015-05-20'
5
5
  s.summary = "Convert MSFL to other forms"
6
6
  s.description = "Visitor pattern approach to converting MSFL to other forms."
@@ -30,8 +30,8 @@ describe MSFLVisitors do
30
30
 
31
31
  context "when the filter is { make: \"Toyota\" }" do
32
32
 
33
- it 'returns: [{:clause=>"make == \"Toyota\""}]' do
34
- expect(subject).to eq [{:clause=>"make == \"Toyota\""}]
33
+ it 'returns: [{ clause: "make == \"Toyota\"" }]' do
34
+ expect(subject).to eq [{ clause: "make == \"Toyota\"" }]
35
35
  end
36
36
  end
37
37
 
@@ -39,17 +39,24 @@ describe MSFLVisitors do
39
39
 
40
40
  let(:msfl) { { partial: { given: { make: "Toyota" }, filter: { avg_age: 10 } } } }
41
41
 
42
- it "returns: [{:clause=>[{:agg_field_name=>:avg_age, :operator=>:eq, :test_value=>10}], :method_to_execute=>:aggregations}, {:clause=>\"make == \"Toyota\"\"}]" do
42
+ it "returns: [
43
+ {
44
+ clause: {
45
+ agg_field_name: :avg_age,
46
+ operator: :eq,
47
+ test_value: 10
48
+ },
49
+ method_to_execute: :aggregations
50
+ }, {clause: \"make == \"Toyota\"\"}
51
+ ]" do
43
52
 
44
53
  expect(subject).to eq [
45
54
  {
46
- clause: [
47
- {
48
- agg_field_name: :avg_age,
49
- operator: :eq,
50
- test_value: 10
51
- }
52
- ],
55
+ clause: {
56
+ agg_field_name: :avg_age,
57
+ operator: :eq,
58
+ test_value: 10
59
+ },
53
60
  method_to_execute: :aggregations
54
61
  }, {clause: "make == \"Toyota\""}
55
62
  ]
@@ -43,8 +43,6 @@ describe MSFLVisitors::Visitor do
43
43
 
44
44
  end
45
45
 
46
- # chewy looks like
47
- # Index::Type.filter { match_all }.aggregations({toyotas: {terms: {make: 'Toyota'}, aggregations: { filter: { range: { avg_age: { gt: 10 }}} }}})
48
46
  describe "a Partial node" do
49
47
 
50
48
  let(:node) { MSFLVisitors::Nodes::Partial.new given_node, named_value }
@@ -72,7 +70,7 @@ describe MSFLVisitors::Visitor do
72
70
  subject { visitor.visit_tree node }
73
71
 
74
72
  let(:expected) do
75
- [{ clause: [{ agg_field_name: :age, operator: :gt, test_value: 10 }], method_to_execute: :aggregations },
73
+ [{ clause: { agg_field_name: :age, operator: :gt, test_value: 10 }, method_to_execute: :aggregations },
76
74
  { clause: "make == \"Toyota\"" }]
77
75
  end
78
76
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: msfl_visitors
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0.dev6
4
+ version: 0.3.0.dev7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Courtland Caldwell