primedia-endeca 0.9.6 → 0.9.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.
- data/endeca.gemspec +2 -2
- data/lib/endeca/dimension.rb +8 -5
- data/lib/endeca/document_collection.rb +3 -4
- data/lib/endeca/refinement.rb +13 -4
- data/lib/endeca.rb +1 -1
- data/spec/endeca/document_collection_spec.rb +3 -2
- data/spec/endeca/refinement_spec.rb +27 -1
- metadata +2 -2
data/endeca.gemspec
CHANGED
@@ -2,11 +2,11 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = %q{endeca}
|
5
|
-
s.version = "0.9.
|
5
|
+
s.version = "0.9.7"
|
6
6
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
8
8
|
s.authors = ["Rein Henrichs", "Andy Stone"]
|
9
|
-
s.date = %q{2009-01-
|
9
|
+
s.date = %q{2009-01-30}
|
10
10
|
s.description = %q{An Endeca client library for Ruby.}
|
11
11
|
s.email = %q{}
|
12
12
|
s.extra_rdoc_files = ["History.txt", "Manifest.txt", "README.rdoc"]
|
data/lib/endeca/dimension.rb
CHANGED
@@ -4,17 +4,20 @@ module Endeca
|
|
4
4
|
extend ClassToProc
|
5
5
|
extend Readers
|
6
6
|
|
7
|
+
reader \
|
8
|
+
"DimValueName" => :name,
|
9
|
+
"SelectionLink" => :to_params
|
10
|
+
|
11
|
+
integer_reader \
|
12
|
+
"DimValueID" => :id,
|
13
|
+
"NumberofRecords" => :record_count
|
14
|
+
|
7
15
|
attr_reader :raw
|
8
16
|
def initialize(raw={})
|
9
17
|
@raw=raw
|
10
18
|
end
|
11
19
|
alias_method :attributes, :raw
|
12
20
|
|
13
|
-
reader "DimValueName" => :name
|
14
|
-
reader "PivotLink" => :to_params
|
15
|
-
|
16
|
-
integer_reader "DimValueID" => :id
|
17
|
-
|
18
21
|
def inspect
|
19
22
|
"#<#{self.class}=0x#{self.object_id.to_s(16)} id=#{id} name=#{name.inspect}>"
|
20
23
|
end
|
@@ -67,10 +67,9 @@ module Endeca
|
|
67
67
|
@refinements ||= (@raw['Refinements'] || []).map(&Refinement)
|
68
68
|
end
|
69
69
|
|
70
|
-
# Return the
|
71
|
-
def
|
72
|
-
|
73
|
-
refinement.to_params if refinement
|
70
|
+
# Return the refinement by name
|
71
|
+
def refinement_by_name(name)
|
72
|
+
refinements.find{|ref| ref.name.downcase == name.downcase}
|
74
73
|
end
|
75
74
|
|
76
75
|
# List of array methods (that are not in +Object+) that need to be
|
data/lib/endeca/refinement.rb
CHANGED
@@ -3,6 +3,16 @@ module Endeca
|
|
3
3
|
extend ClassToProc
|
4
4
|
extend Readers
|
5
5
|
|
6
|
+
reader 'DimensionName' => :name,
|
7
|
+
'ExpansionLink' => :expansion_link,
|
8
|
+
'ContractionLink' => :contraction_link
|
9
|
+
|
10
|
+
integer_reader 'DimensionID' => :id
|
11
|
+
|
12
|
+
reader('DimensionValues' => :dimension_values) do |values|
|
13
|
+
values.map(&Dimension) if values
|
14
|
+
end
|
15
|
+
|
6
16
|
attr_reader :raw
|
7
17
|
def initialize(raw={})
|
8
18
|
@raw = raw
|
@@ -20,10 +30,9 @@ module Endeca
|
|
20
30
|
(@raw['Dimensions'] || []).first || {}
|
21
31
|
end
|
22
32
|
|
23
|
-
|
24
|
-
|
25
|
-
|
33
|
+
def to_params
|
34
|
+
expansion_link || contraction_link
|
35
|
+
end
|
26
36
|
|
27
|
-
integer_reader 'DimensionID' => :id
|
28
37
|
end
|
29
38
|
end
|
data/lib/endeca.rb
CHANGED
@@ -95,8 +95,9 @@ describe Endeca::DocumentCollection do
|
|
95
95
|
@document_collection.refinements.should == [Endeca::Refinement.new(@refinement)]
|
96
96
|
end
|
97
97
|
|
98
|
-
it "should return refinement
|
99
|
-
@document_collection.
|
98
|
+
it "should return refinement by name" do
|
99
|
+
@document_collection.refinement_by_name('city').
|
100
|
+
should == Endeca::Refinement.new(@refinement)
|
100
101
|
end
|
101
102
|
end
|
102
103
|
|
@@ -2,8 +2,25 @@ require File.join(File.dirname(__FILE__), %w[.. spec_helper])
|
|
2
2
|
|
3
3
|
describe Endeca::Refinement do
|
4
4
|
before do
|
5
|
-
@
|
5
|
+
@dimension_value = {
|
6
|
+
"DimValueID" => "4294965335",
|
7
|
+
"SelectionLink" => "N=4294965335&Ne=3",
|
8
|
+
"DimValueName" => "Winter Park",
|
9
|
+
"NumberofRecords" => "44"
|
10
|
+
}
|
11
|
+
|
12
|
+
dimensions = { "Dimensions" => [
|
13
|
+
{
|
14
|
+
"DimensionID" => "3",
|
15
|
+
"DimensionName" => "state",
|
16
|
+
"ContractionLink" => "N=",
|
17
|
+
"DimensionValues" => [@dimension_value]
|
18
|
+
}
|
19
|
+
]
|
20
|
+
}
|
21
|
+
@refinement = Endeca::Refinement.new( dimensions )
|
6
22
|
end
|
23
|
+
|
7
24
|
describe '#==' do
|
8
25
|
it "should compare refinements by id" do
|
9
26
|
doc_1, doc_2 = Endeca::Refinement.new, Endeca::Refinement.new
|
@@ -35,4 +52,13 @@ describe Endeca::Refinement do
|
|
35
52
|
@refinement.inspect.should include('name="A Name"')
|
36
53
|
end
|
37
54
|
end
|
55
|
+
|
56
|
+
it "should return to_params on the contraction link " do
|
57
|
+
@refinement.to_params.should == "N="
|
58
|
+
end
|
59
|
+
|
60
|
+
it "should return an array of dimensions for dimension_values" do
|
61
|
+
my_dimension = Endeca::Dimension.new(@dimension_value)
|
62
|
+
@refinement.dimension_values.should == [my_dimension]
|
63
|
+
end
|
38
64
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: primedia-endeca
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
4
|
+
version: 0.9.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Rein Henrichs
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2009-01-
|
13
|
+
date: 2009-01-30 00:00:00 -08:00
|
14
14
|
default_executable:
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|