primedia-endeca 1.3.6 → 1.3.7

Sign up to get free protection for your applications and to get access to all the features.
@@ -2,19 +2,19 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{endeca}
5
- s.version = "1.3.6"
5
+ s.version = "1.3.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-09-14}
9
+ s.date = %q{2009-09-15}
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"]
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/caching.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/caching_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"]
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/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
14
  s.homepage = %q{http://github.com/primedia/endeca-ruby}
15
15
  s.rdoc_options = ["--main", "README.rdoc"]
16
16
  s.require_paths = ["lib"]
17
17
  s.rubyforge_project = %q{endeca}
18
- s.rubygems_version = %q{1.3.5}
18
+ s.rubygems_version = %q{1.3.7}
19
19
  s.summary = %q{An Endeca client library for Ruby}
20
20
  end
@@ -1,3 +1,9 @@
1
+ class Object
2
+ def blank?
3
+ respond_to?(:empty?) ? empty? : !self
4
+ end
5
+ end
6
+
1
7
  class Array
2
8
  def to_endeca_params
3
9
  join('&').to_endeca_params
@@ -2,7 +2,6 @@ require 'rubygems'
2
2
  require 'net/http'
3
3
  require 'json'
4
4
  require 'logger'
5
- require 'activesupport'
6
5
 
7
6
  $:.unshift(File.dirname(__FILE__))
8
7
  require 'core_ext'
@@ -27,7 +26,7 @@ module Endeca
27
26
  extend Logging
28
27
 
29
28
  # :stopdoc:
30
- VERSION = '1.3.6'
29
+ VERSION = '1.3.7'
31
30
  # :startdoc:
32
31
 
33
32
  # Returns the version string for the library.
@@ -1,5 +1,4 @@
1
1
  require 'uri'
2
- require 'endeca/caching'
3
2
 
4
3
  module Endeca
5
4
  class RequestError < ::StandardError; end
@@ -85,7 +84,5 @@ module Endeca
85
84
 
86
85
  query_string_parts.empty? ? nil : query_string_parts.join('&')
87
86
  end
88
-
89
- include Caching
90
87
  end
91
88
  end
@@ -6,7 +6,6 @@ require File.join(File.dirname(__FILE__), %w[.. spec_helper])
6
6
  describe Endeca::Request do
7
7
  before do
8
8
  @path = 'http://example.com/foobar'
9
- Endeca.disable_caching
10
9
  end
11
10
 
12
11
  describe '.perform' 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: 1.3.6
4
+ version: 1.3.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-09-14 00:00:00 -07:00
13
+ date: 2009-09-15 00:00:00 -07:00
14
14
  default_executable:
15
15
  dependencies: []
16
16
 
@@ -38,7 +38,6 @@ files:
38
38
  - lib/endeca/benchmarking.rb
39
39
  - lib/endeca/breadcrumb.rb
40
40
  - lib/endeca/breadcrumbs.rb
41
- - lib/endeca/caching.rb
42
41
  - lib/endeca/dimension.rb
43
42
  - lib/endeca/document.rb
44
43
  - lib/endeca/document_collection.rb
@@ -52,7 +51,6 @@ files:
52
51
  - spec/core_ext_spec.rb
53
52
  - spec/endeca/benchmarking_spec.rb
54
53
  - spec/endeca/breadcrumb_spec.rb
55
- - spec/endeca/caching_spec.rb
56
54
  - spec/endeca/dimension_spec.rb
57
55
  - spec/endeca/document_collection_spec.rb
58
56
  - spec/endeca/document_spec.rb
@@ -1,70 +0,0 @@
1
- require 'digest/sha1'
2
-
3
- require 'rubygems'
4
- require 'active_support/core_ext/module/aliasing'
5
- require 'active_support/core_ext/array'
6
- require 'active_support/core_ext/class'
7
- require 'active_support/cache'
8
- require 'endeca'
9
-
10
- module Endeca #:nodoc:
11
-
12
- class << self
13
- def perform_caching?
14
- !cache_store.nil?
15
- end
16
-
17
- def cache_store
18
- @cache_store
19
- end
20
-
21
- def disable_caching
22
- @cache_store = nil
23
- end
24
-
25
- # Defines the storage option for cached queries
26
- #
27
- # ActiveSupport::Cache.lookup_store will return MemoryStore
28
- # if nil is passed in and we don't want that.
29
- def cache_store=(store_option)
30
- if store_option
31
- @cache_store = ActiveSupport::Cache.lookup_store(store_option)
32
- end
33
- end
34
- end
35
-
36
- # Caching is a way to speed up slow Endeca queries by keeping the result of
37
- # an Endeca request around to be reused by subequest requests. Caching is
38
- # turned off by default.
39
- #
40
- # Note: To ensure that caching is turned off, set Endeca.cache_store = nil
41
- #
42
- # == Caching stores
43
- #
44
- # All the caching stores from ActiveSupport::Cache are available to be used
45
- # as backends for Endeca caching. See the Rails rdoc for more information on
46
- # these stores
47
- #
48
- # Configuration examples (MemoryStore is the default):
49
- #
50
- # Endeca.cache_store = :memory_store
51
- # Endeca.cache_store = :file_store, "/path/to/cache/directory"
52
- # Endeca.cache_store = :drb_store, "druby://localhost:9192"
53
- # Endeca.cache_store = :mem_cache_store, "localhost"
54
- # Endeca.cache_store = MyOwnStore.new("parameter")
55
- module Caching
56
- def self.included(base)
57
- base.alias_method_chain :get_response, :caching
58
- end
59
-
60
- private
61
-
62
- def get_response_with_caching #:nodoc:
63
- return get_response_without_caching unless Endeca.perform_caching?
64
- fetch { get_response_without_caching }
65
- end
66
-
67
- def cache_key; Digest::SHA1.hexdigest uri.to_s end
68
- def fetch(&block); Endeca.cache_store.fetch(cache_key, &block) end
69
- end
70
- end
@@ -1,73 +0,0 @@
1
- require File.join(File.dirname(__FILE__), %w[.. spec_helper])
2
-
3
- describe Endeca::Request do
4
- before(:all) do
5
- Endeca.cache_store = :memory_store
6
- end
7
-
8
- after(:all) do
9
- Endeca.disable_caching
10
- end
11
-
12
- before do
13
- @path = "http://example.com"
14
- @query = "foo=bar"
15
- @request = Endeca::Request.new(@path, @query)
16
- @response = {"a successful" => "response"}
17
-
18
- @request.stub!(:handle_response).and_return(@response)
19
- @cache_key = :key
20
- @request.stub!(:cache_key).and_return(@cache_key)
21
- end
22
-
23
- describe "When a cached response is available" do
24
- before do
25
- Endeca.cache_store.write(@cache_key, @response)
26
- end
27
-
28
- it "should not perform the request" do
29
- @request.should_not_receive(:get_response_without_caching)
30
- @request.perform
31
- end
32
-
33
- it "should read from the cache" do
34
- @request.perform.should == @response
35
- end
36
- end
37
-
38
- describe "When a cached response is not available" do
39
- before do
40
- Endeca.cache_store.delete(@cache_key)
41
- end
42
-
43
- it "should perform the request" do
44
- @request.should_receive(:get_response_without_caching)
45
- @request.perform
46
- end
47
-
48
- it "should cache the response using the caching key" do
49
- @request.stub!(:get_response_without_caching).and_return(@response)
50
-
51
- @request.perform
52
- Endeca.cache_store.read(@request.send(:cache_key)).should == @response
53
- end
54
- end
55
- end
56
-
57
-
58
- describe Endeca::Caching do
59
- it "should return false when cache store is not set" do
60
- Endeca.perform_caching?.should be_false
61
- end
62
-
63
- it "should return false when if disable_caching has been set" do
64
- Endeca.cache_store = :memory_store
65
- Endeca.disable_caching
66
- Endeca.perform_caching?.should be_false
67
- end
68
-
69
- it "should return memory store" do
70
- Endeca.cache_store = :memory_store
71
- Endeca.cache_store.class.should == ActiveSupport::Cache::MemoryStore
72
- end
73
- end