primedia-endeca 0.9.24 → 0.9.25

Sign up to get free protection for your applications and to get access to all the features.
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