primedia-endeca 0.10.0 → 0.10.1

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 CHANGED
@@ -1,34 +1,32 @@
1
- # -*- encoding: utf-8 -*-
2
-
3
1
  Gem::Specification.new do |s|
4
2
  s.name = %q{endeca}
5
- s.version = "0.10.0"
3
+ s.version = "0.10.1"
6
4
 
7
5
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
8
6
  s.authors = ["Rein Henrichs", "Andy Stone"]
9
- s.date = %q{2009-02-20}
7
+ s.date = %q{2009-03-02}
10
8
  s.description = %q{An Endeca client library for Ruby.}
11
9
  s.email = %q{}
12
10
  s.extra_rdoc_files = ["History.txt", "Manifest.txt", "README.rdoc"]
13
- s.files = ["History.txt", "Manifest.txt", "README.rdoc", "Rakefile", "endeca.gemspec", "example/benchmark.rb", "example/listing.rb", "lib/class_to_proc.rb", "lib/core_ext.rb", "lib/endeca.rb", "lib/endeca/benchmarking.rb", "lib/endeca/breadcrumb.rb", "lib/endeca/breadcrumbs.rb", "lib/endeca/dimension.rb", "lib/endeca/document.rb", "lib/endeca/document_collection.rb", "lib/endeca/logging.rb", "lib/endeca/map.rb", "lib/endeca/readers.rb", "lib/endeca/refinement.rb", "lib/endeca/request.rb", "lib/endeca/transformer.rb", "spec/core_ext_spec.rb", "spec/endeca/benchmarking_spec.rb", "spec/endeca/breadcrumb_spec.rb", "spec/endeca/dimension_spec.rb", "spec/endeca/document_collection_spec.rb", "spec/endeca/document_spec.rb", "spec/endeca/map_spec.rb", "spec/endeca/readers_spec.rb", "spec/endeca/refinement_spec.rb", "spec/endeca/request_spec.rb", "spec/endeca/transformer_spec.rb", "spec/endeca_spec.rb", "spec/rcov.opts", "spec/spec.opts", "spec/spec_helper.rb"]
11
+ s.files = ["History.txt", "Manifest.txt", "README.rdoc", "Rakefile", "endeca.gemspec", "example/benchmark.rb", "example/listing.rb", "lib/class_to_proc.rb", "lib/core_ext.rb", "lib/endeca.rb", "lib/endeca/benchmarking.rb", "lib/endeca/breadcrumb.rb", "lib/endeca/breadcrumbs.rb", "lib/endeca/dimension.rb", "lib/endeca/document.rb", "lib/endeca/document_collection.rb", "lib/endeca/logging.rb", "lib/endeca/map.rb", "lib/endeca/readers.rb", "lib/endeca/refinement.rb", "lib/endeca/refinement_dimension.rb", "lib/endeca/request.rb", "lib/endeca/transformer.rb", "spec/core_ext_spec.rb", "spec/endeca/benchmarking_spec.rb", "spec/endeca/breadcrumb_spec.rb", "spec/endeca/dimension_spec.rb", "spec/endeca/document_collection_spec.rb", "spec/endeca/document_spec.rb", "spec/endeca/map_spec.rb", "spec/endeca/readers_spec.rb", "spec/endeca/refinement_dimension_spec.rb", "spec/endeca/refinement_spec.rb", "spec/endeca/request_spec.rb", "spec/endeca/transformer_spec.rb", "spec/endeca_spec.rb", "spec/rcov.opts", "spec/spec.opts", "spec/spec_helper.rb"]
14
12
  s.has_rdoc = true
15
13
  s.homepage = %q{http://github.com/primedia/endeca-ruby}
16
14
  s.rdoc_options = ["--main", "README.rdoc"]
17
15
  s.require_paths = ["lib"]
18
16
  s.rubyforge_project = %q{endeca}
19
- s.rubygems_version = %q{1.3.1}
17
+ s.rubygems_version = %q{1.2.0}
20
18
  s.summary = %q{An Endeca client library for Ruby}
21
19
 
22
20
  if s.respond_to? :specification_version then
23
21
  current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
24
22
  s.specification_version = 2
25
23
 
26
- if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
27
- s.add_development_dependency(%q<bones>, [">= 2.4.0"])
24
+ if current_version >= 3 then
25
+ s.add_development_dependency(%q<bones>, [">= 2.3.1"])
28
26
  else
29
- s.add_dependency(%q<bones>, [">= 2.4.0"])
27
+ s.add_dependency(%q<bones>, [">= 2.3.1"])
30
28
  end
31
29
  else
32
- s.add_dependency(%q<bones>, [">= 2.4.0"])
30
+ s.add_dependency(%q<bones>, [">= 2.3.1"])
33
31
  end
34
32
  end
@@ -13,6 +13,10 @@ module Endeca
13
13
  values.map(&Dimension) if values
14
14
  end
15
15
 
16
+ reader('Dimensions' => :dimensions) do |values|
17
+ values.map(&RefinementDimension) if values
18
+ end
19
+
16
20
  attr_reader :raw
17
21
  def initialize(raw={})
18
22
  @raw = raw
@@ -0,0 +1,32 @@
1
+ module Endeca
2
+ class RefinementDimension
3
+ include Comparable
4
+ extend ClassToProc
5
+ extend Readers
6
+
7
+ reader \
8
+ "DimensionName" => :name,
9
+ "ExpansionLink" => :to_endeca_params
10
+
11
+ integer_reader \
12
+ "DimensionID" => :id
13
+
14
+ attr_reader :raw
15
+ def initialize(raw={})
16
+ @raw=raw
17
+ end
18
+ alias_method :attributes, :raw
19
+
20
+ def inspect
21
+ "#<#{self.class}=0x#{self.object_id.to_s(16)} id=#{id} name=#{name.inspect}>"
22
+ end
23
+
24
+ def ==(other)
25
+ id == other.id
26
+ end
27
+
28
+ def <=>(other)
29
+ name <=> other.name
30
+ end
31
+ end
32
+ end
@@ -29,13 +29,12 @@ module Endeca
29
29
  private
30
30
 
31
31
  def get_response #:nodoc:
32
- response = nil
33
32
  Endeca.log "ENDECA ADAPTER REQUEST"
34
33
  Endeca.log " parameters => " + @query.inspect
35
34
  Endeca.log " uri => " + uri.to_s
36
- Endeca.bm " request time => " do response = Net::HTTP.get_response(uri) end
35
+ Endeca.bm " request time => " do @response = Net::HTTP.get_response(uri) end
37
36
 
38
- return response
37
+ return @response
39
38
  end
40
39
 
41
40
  # Raises exception Net::XXX (http error code) if an http error occured
data/lib/endeca.rb CHANGED
@@ -13,6 +13,7 @@ require 'endeca/readers'
13
13
  require 'endeca/map'
14
14
  require 'endeca/transformer'
15
15
  require 'endeca/dimension'
16
+ require 'endeca/refinement_dimension'
16
17
  require 'endeca/refinement'
17
18
  require 'endeca/breadcrumbs'
18
19
  require 'endeca/breadcrumb'
@@ -25,7 +26,7 @@ module Endeca
25
26
  extend Logging
26
27
 
27
28
  # :stopdoc:
28
- VERSION = '0.10.0'
29
+ VERSION = '0.10.1'
29
30
  # :startdoc:
30
31
 
31
32
  # Returns the version string for the library.
@@ -0,0 +1,74 @@
1
+ require File.dirname(__FILE__) + '/../spec_helper'
2
+
3
+ describe Endeca::RefinementDimension do
4
+ describe ".new" do
5
+ it "should set the raw attribute" do
6
+ dimension = Endeca::RefinementDimension.new(:raw)
7
+
8
+ dimension.raw.should == :raw
9
+ end
10
+ end
11
+
12
+ describe "#to_endeca_params" do
13
+ before do
14
+ @dimension = Endeca::RefinementDimension.new("ExpansionLink" => "expansion link")
15
+ end
16
+
17
+ it() {@dimension.to_endeca_params.should == "expansion link"}
18
+
19
+ end
20
+
21
+ describe "#inspect" do
22
+ before do
23
+ @dimension = Endeca::RefinementDimension.new
24
+ end
25
+
26
+ it "should include the class" do
27
+ @dimension.inspect.should include(Endeca::RefinementDimension.name)
28
+ end
29
+
30
+ it "should include the hex formatted object_id" do
31
+ id = 123
32
+ @dimension.stub!(:object_id).and_return(id)
33
+ @dimension.inspect.should include("0x#{id.to_s(16)}")
34
+ end
35
+
36
+ it "should include the id" do
37
+ id = 123
38
+ @dimension.stub!(:id).and_return(id)
39
+ @dimension.inspect.should include("id=#{id}")
40
+ end
41
+
42
+ it "should include the inspected name" do
43
+ name = 'name'
44
+ @dimension.stub!(:name).and_return(name)
45
+ @dimension.inspect.should include("name=#{name.inspect}")
46
+ end
47
+ end
48
+
49
+ describe "#==" do
50
+ it "should compare ids" do
51
+ dim_1 = Endeca::RefinementDimension.new
52
+ dim_2 = Endeca::RefinementDimension.new
53
+ dim_2.stub!(:id).and_return(dim_1.id)
54
+
55
+ (dim_1 == dim_2).should be_true
56
+ end
57
+ end
58
+
59
+ describe "#<=>" do
60
+ it "should compare names" do
61
+ name = mock('name')
62
+
63
+ dim_1 = Endeca::RefinementDimension.new
64
+ dim_2 = Endeca::RefinementDimension.new
65
+
66
+ dim_1.stub!(:name).and_return(name)
67
+ dim_2.stub!(:name).and_return(name)
68
+
69
+ name.should_receive(:<=>).with(name)
70
+
71
+ dim_1 <=> dim_2
72
+ end
73
+ end
74
+ end
@@ -61,4 +61,12 @@ describe Endeca::Refinement do
61
61
  my_dimension = Endeca::Dimension.new(@dimension_value)
62
62
  @refinement.dimension_values.should == [my_dimension]
63
63
  end
64
+
65
+ it "should return an array of dimensions" do
66
+ refinement_dim_raw = mock("raw dimension refinement")
67
+ refinement_dim = mock(Endeca::RefinementDimension)
68
+ @refinement.attributes['Dimensions'] = [refinement_dim_raw]
69
+ Endeca::RefinementDimension.should_receive(:new).with(refinement_dim_raw).and_return(refinement_dim)
70
+ @refinement.dimensions.should == [refinement_dim]
71
+ end
64
72
  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.10.0
4
+ version: 0.10.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rein Henrichs
@@ -10,18 +10,18 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2009-02-20 00:00:00 -08:00
13
+ date: 2009-03-02 00:00:00 -08:00
14
14
  default_executable:
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: bones
18
- type: :development
18
+ type: :runtime
19
19
  version_requirement:
20
20
  version_requirements: !ruby/object:Gem::Requirement
21
21
  requirements:
22
22
  - - ">="
23
23
  - !ruby/object:Gem::Version
24
- version: 2.4.0
24
+ version: 2.3.1
25
25
  version:
26
26
  description: An Endeca client library for Ruby.
27
27
  email: ""
@@ -54,6 +54,7 @@ files:
54
54
  - lib/endeca/map.rb
55
55
  - lib/endeca/readers.rb
56
56
  - lib/endeca/refinement.rb
57
+ - lib/endeca/refinement_dimension.rb
57
58
  - lib/endeca/request.rb
58
59
  - lib/endeca/transformer.rb
59
60
  - spec/core_ext_spec.rb
@@ -64,6 +65,7 @@ files:
64
65
  - spec/endeca/document_spec.rb
65
66
  - spec/endeca/map_spec.rb
66
67
  - spec/endeca/readers_spec.rb
68
+ - spec/endeca/refinement_dimension_spec.rb
67
69
  - spec/endeca/refinement_spec.rb
68
70
  - spec/endeca/request_spec.rb
69
71
  - spec/endeca/transformer_spec.rb