arelastic 0.4.6 → 0.4.7

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