primedia-endeca 0.9.6 → 0.9.7

Sign up to get free protection for your applications and to get access to all the features.
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.6"
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-29}
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"]
@@ -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 uri for the refinement by name
71
- def refinement_uri_by_name(name)
72
- refinement = refinements.find{|ref| ref.name.downcase == name.downcase}
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
@@ -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
- reader \
24
- 'DimensionName' => :name,
25
- 'ExpansionLink' => :to_params
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
@@ -18,7 +18,7 @@ require 'endeca/document'
18
18
  module Endeca
19
19
 
20
20
  # :stopdoc:
21
- VERSION = '0.9.6'
21
+ VERSION = '0.9.7'
22
22
  # :startdoc:
23
23
 
24
24
  # Returns the version string for the library.
@@ -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 uri by name" do
99
- @document_collection.refinement_uri_by_name('city').should == "N=&Ne=7"
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
- @refinement = Endeca::Refinement.new
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.6
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-29 00:00:00 -08:00
13
+ date: 2009-01-30 00:00:00 -08:00
14
14
  default_executable:
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency