arelastic 0.4.6 → 0.4.7

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: 70bfaded4af81b93d4ab0548c586a128a790a794
4
- data.tar.gz: cadf4637b3c585aa297ded7ada84535c8455911f
3
+ metadata.gz: 9f049b77b8f52b63644138ab4d5adcbca584a209
4
+ data.tar.gz: 246926042e07742f621cd306b10f2d15b816d8e8
5
5
  SHA512:
6
- metadata.gz: 336c9c1902878d897cfb09d2ca0fdcdbe5e02c6241e6c15de160a3727868160f5102f9ef3f00d174e3df43c26477e26e705bd07a021cbdc746173d8171cf8a51
7
- data.tar.gz: ef592219177802e984bc79c0cc3378e2aaa230fa089503ea616f3bbb69677530c2a9200f0175bffbe483ce5ce0ec0286969001f1fc8e5eee921acf3162a3389c
6
+ metadata.gz: a088d3db6655275b52bb0c3df4ed0b941b4c55bef1f9e21cfb3bb1d8e211c3fd982c8d0247865f802fb42ebd85fe6877eeaa2fb652828baa678e316a7dfc98b1
7
+ data.tar.gz: b705c8dac162171e1313661396836893a3e5fe96f5ddd1b19c067aa7aba79f2483f175c10324548f34bb1f90fc1f9797b21818fccaf44004dc9b091580fad625
@@ -1,6 +1,16 @@
1
1
  module Arelastic
2
2
  module Facets
3
3
  class Facet < Arelastic::Nodes::Node
4
+ attr_reader :name
5
+
6
+ def initialize name
7
+ @name = name
8
+ end
9
+
10
+ def as_elastic
11
+ { name => as_elastic_facet }
12
+ end
13
+
4
14
  def nested path
5
15
  Facets::Nested.new path, self
6
16
  end
@@ -1,17 +1,16 @@
1
1
  module Arelastic
2
2
  module Facets
3
3
  class Histogram < Arelastic::Facets::Facet
4
- attr_accessor :name, :options
4
+ attr_accessor :options
5
+
5
6
  def initialize name, options
6
- @name = name
7
+ super name
7
8
  @options = options
8
9
  end
9
10
 
10
- def as_elastic
11
+ def as_elastic_facet
11
12
  {
12
- name => {
13
- "histogram" => options
14
- }
13
+ "histogram" => options
15
14
  }
16
15
  end
17
16
  end
@@ -1,8 +1,16 @@
1
1
  module Arelastic
2
2
  module Facets
3
- class Nested < Struct.new :path, :facet
4
- def as_elastic
5
- facet.as_elastic.merge("nested" => path)
3
+ class Nested < Arelastic::Facets::Facet
4
+ attr_reader :path, :facet
5
+
6
+ def initialize path, facet
7
+ super facet.name
8
+ @path = path
9
+ @facet = facet
10
+ end
11
+
12
+ def as_elastic_facet
13
+ facet.as_elastic_facet.merge("nested" => path)
6
14
  end
7
15
  end
8
16
  end
@@ -1,20 +1,19 @@
1
1
  module Arelastic
2
2
  module Facets
3
3
  class Terms < Arelastic::Facets::Facet
4
- attr_accessor :name, :field, :options
4
+ attr_accessor :field, :options
5
+
5
6
  def initialize name, field, options = {}
6
- @name = name
7
+ super name
7
8
  @field = field
8
9
  @options = options
9
10
  end
10
11
 
11
- def as_elastic
12
+ def as_elastic_facet
12
13
  params = {"field" => field}.update(options)
13
14
 
14
15
  {
15
- name => {
16
- "terms" => params
17
- }
16
+ "terms" => params
18
17
  }
19
18
  end
20
19
  end
@@ -18,4 +18,4 @@ module Arelastic
18
18
  end
19
19
  end
20
20
  end
21
- end
21
+ end
@@ -13,10 +13,6 @@ module Arelastic
13
13
  end
14
14
  end
15
15
 
16
- def as_elastic
17
- {}
18
- end
19
-
20
16
  def ==(other)
21
17
  as_elastic == other.as_elastic
22
18
  end
@@ -2,9 +2,14 @@ require 'helper'
2
2
 
3
3
  class Arelastic::Facets::FacetTest < MiniTest::Unit::TestCase
4
4
  def test_nested
5
- facet = Arelastic::Facets::Facet.new
5
+ facet = Class.new(Arelastic::Facets::Facet) do
6
+ def as_elastic_facet
7
+ {}
8
+ end
9
+ end.new 'name'
10
+
6
11
  expected = {
7
- "nested" => "links"
12
+ "name" => {"nested" => "links"}
8
13
  }
9
14
 
10
15
  nested = facet.nested "links"
@@ -19,9 +24,9 @@ class Arelastic::Facets::FacetTest < MiniTest::Unit::TestCase
19
24
  "terms" => {
20
25
  "field" => "links.name",
21
26
  "size" => 10,
22
- }
23
- },
24
- "nested" => "links"
27
+ },
28
+ "nested" => "links"
29
+ }
25
30
  }
26
31
 
27
32
  nested = facet.nested "links"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: arelastic
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.6
4
+ version: 0.4.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matthew Higgins
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-10-17 00:00:00.000000000 Z
11
+ date: 2013-10-18 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Build Elastic Search queries with objects
14
14
  email: developer@matthewhiggins.com