primedia-endeca 0.9.24 → 0.9.25

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.9.24"
3
+ s.version = "0.9.25"
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-10}
7
+ s.date = %q{2009-02-12}
10
8
  s.description = %q{An Endeca client library for Ruby.}
11
9
  s.email = %q{}
12
- s.extra_rdoc_files = ["History.txt", "README.rdoc"]
10
+ s.extra_rdoc_files = ["History.txt", "Manifest.txt", "README.rdoc"]
13
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/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"]
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.2.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.2.0"])
27
+ s.add_dependency(%q<bones>, [">= 2.3.1"])
30
28
  end
31
29
  else
32
- s.add_dependency(%q<bones>, [">= 2.2.0"])
30
+ s.add_dependency(%q<bones>, [">= 2.3.1"])
33
31
  end
34
32
  end
data/lib/endeca.rb CHANGED
@@ -25,7 +25,7 @@ module Endeca
25
25
  extend Logging
26
26
 
27
27
  # :stopdoc:
28
- VERSION = '0.9.24'
28
+ VERSION = '0.9.25'
29
29
  # :startdoc:
30
30
 
31
31
  # Returns the version string for the library.
@@ -13,7 +13,8 @@ module Endeca
13
13
  inherited_accessor :mappings, {}
14
14
  inherited_property :path
15
15
  inherited_property :default_params, {}
16
-
16
+ inherited_property :collection_class, DocumentCollection
17
+
17
18
  reader :id
18
19
 
19
20
  attr_reader :raw, :properties
@@ -101,7 +102,7 @@ module Endeca
101
102
 
102
103
  # Returns all Documents matching the query options.
103
104
  def self.all(query_options={})
104
- DocumentCollection.new(request(query_options), self)
105
+ get_collection_class.new(request(query_options), self)
105
106
  end
106
107
 
107
108
  # Returns a Document by id
@@ -1,4 +1,3 @@
1
- require 'endeca/document'
2
1
  module Endeca
3
2
  # Endeca DocumentCollections wrap a collection of Endeca Documents to provide
4
3
  # access to metadata returned by the Endeca query. They behave like a simple
@@ -5,6 +5,7 @@ module Endeca
5
5
  class Request
6
6
 
7
7
  def self.perform(path, query=nil)
8
+ raise RequestError, "Must provide a path" unless path
8
9
  new(path, query).perform
9
10
  end
10
11
 
@@ -28,14 +29,11 @@ module Endeca
28
29
  private
29
30
 
30
31
  def get_response #:nodoc:
31
- http = Net::HTTP.new(uri.host, uri.port)
32
- request = Net::HTTP::Get.new(uri.request_uri)
33
32
  response = nil
34
-
35
33
  Endeca.log "ENDECA ADAPTER REQUEST"
36
34
  Endeca.log " parameters => " + @query.inspect
37
35
  Endeca.log " uri => " + uri.to_s
38
- Endeca.bm " request time => " do response = http.request(request) end
36
+ Endeca.bm " request time => " do response = Net::HTTP.get_response(uri) end
39
37
 
40
38
  return response
41
39
  end
@@ -46,6 +46,11 @@ describe Endeca::Document do
46
46
  before do
47
47
  @query_options = {:foo => :bar}
48
48
  end
49
+
50
+ it do
51
+ Endeca::Document.path nil
52
+ lambda{ Endeca::Document.find('') }.should raise_error(Endeca::RequestError)
53
+ end
49
54
 
50
55
  describe '#==' do
51
56
  it "should compare documents by id" do
@@ -229,6 +234,20 @@ describe Endeca::Document do
229
234
  end
230
235
  end
231
236
  end
237
+
238
+ describe "with a collection_class on the document" do
239
+ before(:all) do
240
+ class SubDocumentCollection < Endeca::DocumentCollection; end
241
+ Endeca::Document.collection_class SubDocumentCollection
242
+
243
+ Endeca::Request.stub!(:perform).and_return({})
244
+ end
245
+
246
+ it "should initialize an collection of the correct class" do
247
+ Endeca::Document.all(:id => 1).should be_a_kind_of(SubDocumentCollection)
248
+ end
249
+
250
+ end
232
251
  end
233
252
 
234
253
  describe ".transform_query_options" do
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.24
4
+ version: 0.9.25
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-02-10 00:00:00 -08:00
13
+ date: 2009-02-12 00:00:00 -08:00
14
14
  default_executable:
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
@@ -20,7 +20,7 @@ dependencies:
20
20
  requirements:
21
21
  - - ">="
22
22
  - !ruby/object:Gem::Version
23
- version: 2.2.0
23
+ version: 2.3.1
24
24
  version:
25
25
  description: An Endeca client library for Ruby.
26
26
  email: ""
@@ -30,6 +30,7 @@ extensions: []
30
30
 
31
31
  extra_rdoc_files:
32
32
  - History.txt
33
+ - Manifest.txt
33
34
  - README.rdoc
34
35
  files:
35
36
  - History.txt