msfl_visitors 0.3.0.dev6 → 0.3.0.dev7

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