sunspot_plus 0.3.2 → 0.3.3

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.
metadata CHANGED
@@ -1,139 +1,123 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: sunspot_plus
3
- version: !ruby/object:Gem::Version
4
- hash: 23
5
- prerelease: false
6
- segments:
7
- - 0
8
- - 3
9
- - 2
10
- version: 0.3.2
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.3.3
5
+ prerelease:
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Louis Gillies
14
9
  autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
-
18
- date: 2011-03-04 00:00:00 +00:00
19
- default_executable:
20
- dependencies:
21
- - !ruby/object:Gem::Dependency
22
- prerelease: false
23
- type: :development
12
+ date: 2013-01-04 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
24
15
  name: rspec
25
- version_requirements: &id001 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
26
17
  none: false
27
- requirements:
18
+ requirements:
28
19
  - - ~>
29
- - !ruby/object:Gem::Version
30
- hash: 3
31
- segments:
32
- - 2
33
- - 3
34
- - 0
20
+ - !ruby/object:Gem::Version
35
21
  version: 2.3.0
36
- requirement: *id001
37
- - !ruby/object:Gem::Dependency
38
- prerelease: false
39
22
  type: :development
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ version: 2.3.0
30
+ - !ruby/object:Gem::Dependency
40
31
  name: yard
41
- version_requirements: &id002 !ruby/object:Gem::Requirement
32
+ requirement: !ruby/object:Gem::Requirement
42
33
  none: false
43
- requirements:
34
+ requirements:
44
35
  - - ~>
45
- - !ruby/object:Gem::Version
46
- hash: 7
47
- segments:
48
- - 0
49
- - 6
50
- - 0
36
+ - !ruby/object:Gem::Version
51
37
  version: 0.6.0
52
- requirement: *id002
53
- - !ruby/object:Gem::Dependency
54
- prerelease: false
55
38
  type: :development
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ~>
44
+ - !ruby/object:Gem::Version
45
+ version: 0.6.0
46
+ - !ruby/object:Gem::Dependency
56
47
  name: bundler
57
- version_requirements: &id003 !ruby/object:Gem::Requirement
48
+ requirement: !ruby/object:Gem::Requirement
58
49
  none: false
59
- requirements:
60
- - - ">="
61
- - !ruby/object:Gem::Version
62
- hash: 3
63
- segments:
64
- - 0
65
- version: "0"
66
- requirement: *id003
67
- - !ruby/object:Gem::Dependency
68
- prerelease: false
50
+ requirements:
51
+ - - ! '>='
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
69
54
  type: :development
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ - !ruby/object:Gem::Dependency
70
63
  name: jeweler
71
- version_requirements: &id004 !ruby/object:Gem::Requirement
64
+ requirement: !ruby/object:Gem::Requirement
72
65
  none: false
73
- requirements:
74
- - - ~>
75
- - !ruby/object:Gem::Version
76
- hash: 7
77
- segments:
78
- - 1
79
- - 5
80
- - 2
81
- version: 1.5.2
82
- requirement: *id004
83
- - !ruby/object:Gem::Dependency
84
- prerelease: false
66
+ requirements:
67
+ - - ! '>='
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
85
70
  type: :development
86
- name: rcov
87
- version_requirements: &id005 !ruby/object:Gem::Requirement
88
- none: false
89
- requirements:
90
- - - ">="
91
- - !ruby/object:Gem::Version
92
- hash: 3
93
- segments:
94
- - 0
95
- version: "0"
96
- requirement: *id005
97
- - !ruby/object:Gem::Dependency
98
71
  prerelease: false
99
- type: :development
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
78
+ - !ruby/object:Gem::Dependency
100
79
  name: rspec
101
- version_requirements: &id006 !ruby/object:Gem::Requirement
80
+ requirement: !ruby/object:Gem::Requirement
102
81
  none: false
103
- requirements:
104
- - - "="
105
- - !ruby/object:Gem::Version
106
- hash: 27
107
- segments:
108
- - 1
109
- - 3
110
- - 0
82
+ requirements:
83
+ - - '='
84
+ - !ruby/object:Gem::Version
111
85
  version: 1.3.0
112
- requirement: *id006
113
- - !ruby/object:Gem::Dependency
114
- prerelease: false
115
86
  type: :development
87
+ prerelease: false
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - '='
92
+ - !ruby/object:Gem::Version
93
+ version: 1.3.0
94
+ - !ruby/object:Gem::Dependency
116
95
  name: yard
117
- version_requirements: &id007 !ruby/object:Gem::Requirement
96
+ requirement: !ruby/object:Gem::Requirement
118
97
  none: false
119
- requirements:
120
- - - ">="
121
- - !ruby/object:Gem::Version
122
- hash: 3
123
- segments:
124
- - 0
125
- version: "0"
126
- requirement: *id007
127
- description: "A library of extensions for outoftime's sunspot gem for solr indexing server. Using the session adapter design pattern to add support for:\n 1) delayed_job to move indexing commits out of process.\n Support for case insensitive sort fields by creating indexed copy of fields transformed for sort.\n "
98
+ requirements:
99
+ - - ! '>='
100
+ - !ruby/object:Gem::Version
101
+ version: '0'
102
+ type: :development
103
+ prerelease: false
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
110
+ description: ! "A library of extensions for outoftime's sunspot gem for solr indexing
111
+ server. Using the session adapter design pattern to add support for:\n 1) delayed_job
112
+ to move indexing commits out of process.\n Support for case insensitive sort
113
+ fields by creating indexed copy of fields transformed for sort.\n "
128
114
  email: louisgillies@yahoo.co.uk
129
115
  executables: []
130
-
131
116
  extensions: []
132
-
133
- extra_rdoc_files:
117
+ extra_rdoc_files:
134
118
  - LICENSE
135
119
  - README.rdoc
136
- files:
120
+ files:
137
121
  - lib/sunspot_plus.rb
138
122
  - lib/sunspot_plus/dsl/fields.rb
139
123
  - lib/sunspot_plus/dsl/query/case_insensitive_sort.rb
@@ -144,52 +128,31 @@ files:
144
128
  - lib/sunspot_plus/type/case_insensitive_sort_type.rb
145
129
  - LICENSE
146
130
  - README.rdoc
147
- - spec/helpers/delayed_job_stub.rb
148
- - spec/spec_helper.rb
149
- - spec/sunspot/session_proxy/delayed_job/safe_configuration_spec.rb
150
- - spec/sunspot/session_proxy/delayed_job_session_proxy_spec.rb
151
- - spec/sunspot/session_proxy/spec_helper.rb
152
- - spec/sunspot/types/case_insensitive_sort_type_spec.rb
153
- - spec/sunspot_plus_spec.rb
154
- has_rdoc: true
155
131
  homepage: http://github.com/playgood/sunspot_plus
156
132
  licenses: []
157
-
158
133
  post_install_message:
159
134
  rdoc_options: []
160
-
161
- require_paths:
135
+ require_paths:
162
136
  - lib
163
- required_ruby_version: !ruby/object:Gem::Requirement
137
+ required_ruby_version: !ruby/object:Gem::Requirement
164
138
  none: false
165
- requirements:
166
- - - ">="
167
- - !ruby/object:Gem::Version
168
- hash: 3
169
- segments:
139
+ requirements:
140
+ - - ! '>='
141
+ - !ruby/object:Gem::Version
142
+ version: '0'
143
+ segments:
170
144
  - 0
171
- version: "0"
172
- required_rubygems_version: !ruby/object:Gem::Requirement
145
+ hash: -3554715350834872747
146
+ required_rubygems_version: !ruby/object:Gem::Requirement
173
147
  none: false
174
- requirements:
175
- - - ">="
176
- - !ruby/object:Gem::Version
177
- hash: 3
178
- segments:
179
- - 0
180
- version: "0"
148
+ requirements:
149
+ - - ! '>='
150
+ - !ruby/object:Gem::Version
151
+ version: '0'
181
152
  requirements: []
182
-
183
153
  rubyforge_project:
184
- rubygems_version: 1.3.7
154
+ rubygems_version: 1.8.24
185
155
  signing_key:
186
156
  specification_version: 3
187
157
  summary: Extensions for outoftime's sunspot gem.
188
- test_files:
189
- - spec/helpers/delayed_job_stub.rb
190
- - spec/spec_helper.rb
191
- - spec/sunspot/session_proxy/delayed_job/safe_configuration_spec.rb
192
- - spec/sunspot/session_proxy/delayed_job_session_proxy_spec.rb
193
- - spec/sunspot/session_proxy/spec_helper.rb
194
- - spec/sunspot/types/case_insensitive_sort_type_spec.rb
195
- - spec/sunspot_plus_spec.rb
158
+ test_files: []
@@ -1,7 +0,0 @@
1
- module Delayed
2
- class Job
3
- def self.enqueue(object)
4
- true
5
- end
6
- end
7
- end
@@ -1,17 +0,0 @@
1
- $LOAD_PATH.unshift(File.dirname(__FILE__))
2
- $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
3
- require 'rubygems'
4
- require 'sunspot'
5
- require 'sunspot_matchers'
6
- require 'sunspot_plus'
7
- require 'sunspot/session_proxy/abstract_session_proxy'
8
- require 'rspec'
9
- require 'helpers/delayed_job_stub'
10
-
11
- RSpec.configure do |config|
12
- config.before do
13
- Sunspot.session = SunspotMatchers::SunspotSessionSpy.new(Sunspot.session)
14
- end
15
- config.include SunspotMatchers
16
- end
17
-
@@ -1,5 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/../../../spec_helper')
2
-
3
- describe Sunspot::SessionProxy::DelayedJob::SafeConfiguration do
4
- # TODO test hacked config rebuild to overcome YAML serialization bug in sunspot config object.
5
- end
@@ -1,71 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
-
3
- describe Sunspot::SessionProxy::DelayedJobSessionProxy do
4
-
5
-
6
-
7
- before(:each) do
8
-
9
- @original_session = Sunspot::Session.new
10
- @proxy = Sunspot::SessionProxy::DelayedJobSessionProxy.new( @original_session )
11
- end
12
-
13
-
14
- it "should wrap a current session" do
15
- @proxy.session.should == @original_session
16
- end
17
-
18
- context "methods that should be delegated to the default session" do
19
- ([:new_search, :search, :new_more_like_this, :more_like_this, :config, :index,
20
- :delete_dirty?, :dirty?, :remove, :remove!, :remove_all, :remove_all!, :remove_by_id, :remove_by_id!]).each do |method|
21
- it "should delegate #{method.inspect} to its session" do
22
- args = Array.new(Sunspot::Session.instance_method(method).arity.abs) do
23
- stub('arg')
24
- end
25
- @proxy.session.should_receive(method).with(*args)
26
- @proxy.send(method, *args)
27
- end
28
- end
29
- end
30
-
31
- context "methods that commit should queue to delayed job." do
32
- describe "index" do
33
- it "should delegate index to @session" do
34
- @proxy.session.should_receive(:index)
35
- @proxy.should_receive(:commit)
36
- @proxy.index!(mock("Model"))
37
- end
38
- end
39
-
40
- describe "commit_if_dirty" do
41
- it "should delegate dirty? to @session" do
42
- @proxy.session.should_receive(:dirty?).and_return(true)
43
- @proxy.should_receive(:commit)
44
- @proxy.commit_if_dirty
45
- end
46
- end
47
-
48
- describe "commit_if_delete_dirty" do
49
- it "should delegate delete_dirty? to @session" do
50
- @proxy.session.should_receive(:delete_dirty?).and_return(true)
51
- @proxy.should_receive(:commit)
52
- @proxy.commit_if_delete_dirty
53
- end
54
- end
55
- end
56
-
57
- context "methods that should be queued" do
58
- [:commit, :batch].each do |method|
59
- it "should send #{method} to the delayed_job queue" do
60
- args = Array.new(Sunspot::Session.instance_method(method).arity.abs) do
61
- stub('arg')
62
- end
63
- Delayed::Job.should_receive(:enqueue)
64
- @proxy.send(method, *args)
65
- end
66
- end
67
- end
68
-
69
- it_should_behave_like 'session proxy'
70
- end
71
-
@@ -1,9 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
2
-
3
- shared_examples_for 'session proxy' do
4
- Sunspot::SessionProxy::AbstractSessionProxy.public_instance_methods(false).each do |method|
5
- it "should respond to #{method.inspect}" do
6
- @proxy.should respond_to(method)
7
- end
8
- end
9
- end
@@ -1,101 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
2
-
3
- class SomethingToIndex
4
- def name
5
- "something"
6
- end
7
-
8
- def description
9
- "description"
10
- end
11
-
12
- def another
13
- "another"
14
- end
15
- end
16
-
17
- describe Sunspot::Type::CaseInsensitiveSortType do
18
-
19
- before(:each) do
20
- @sort_type = Sunspot::Type::CaseInsensitiveSortType.instance
21
- end
22
-
23
- it "should have an indexed name" do
24
- @sort_type.indexed_name(:test).should == "test_s"
25
- end
26
-
27
- it "should convert a field attribute into a case insensitive field name" do
28
- @sort_type.field_name(:test).should == "case_insensitive_sort_test"
29
- end
30
-
31
- it "should make the value lowercase" do
32
- @sort_type.to_indexed("This is a sort term that needs to be Case Insensitive").should == "this is a sort term that needs to be case insensitive"
33
- end
34
-
35
- it "should case the value to a string" do
36
- @sort_type.cast("string").should == "string"
37
- @sort_type.cast("sting").should be_a(String)
38
- end
39
-
40
- describe "if i want to defined another pattern" do
41
- before(:each) do
42
- Sunspot::Type::CaseInsensitiveSortType.pattern = :upcase
43
- end
44
-
45
- it "should use upcase to transform the value" do
46
- Sunspot::Type::CaseInsensitiveSortType.instance.pattern.should == :upcase
47
- @sort_type.to_indexed("This is a sort term that needs to be Case Insensitive").should == "THIS IS A SORT TERM THAT NEEDS TO BE CASE INSENSITIVE"
48
- end
49
-
50
- context "using a proc" do
51
- before(:each) do
52
- Sunspot::Type::CaseInsensitiveSortType.pattern = Proc.new{|value| value << "999"}
53
- end
54
-
55
- it "should get rid of an and and the and upcase" do
56
- Sunspot::Type::CaseInsensitiveSortType.instance.pattern.should be_a(Proc)
57
- @sort_type.to_indexed("Please call ").should == "Please call 999"
58
- end
59
- end
60
- end
61
-
62
- describe "using the type" do
63
- before(:each) do
64
- Sunspot.setup(SomethingToIndex) do
65
- string :name
66
- sort_fields :name
67
- sort_fields :description, :another
68
- end
69
- @something = SomethingToIndex.new
70
- end
71
-
72
- it "should index something_to_index with sort field" do
73
- Sunspot.search(SomethingToIndex) do
74
- keywords "something"
75
- order_by((:case_insensitive_sort_name))
76
- end
77
- Sunspot.session.should have_search_params(:order_by, :case_insensitive_sort_name, :asc)
78
- end
79
-
80
- describe "the ci_order method" do
81
- it "should add a new ci_order_by method" do
82
- Sunspot.search(SomethingToIndex) do
83
- keywords "bobbins"
84
- ci_order_by(:name)
85
- end
86
- Sunspot.session.should have_search_params(:order_by, :case_insensitive_sort_name, :asc)
87
- end
88
-
89
- it "should allow the direction to be changed" do
90
- Sunspot.search(SomethingToIndex) do
91
- keywords "bobbins"
92
- ci_order_by(:description, :desc)
93
- end
94
- Sunspot.session.should have_search_params(:order_by, :case_insensitive_sort_description, :desc)
95
- end
96
-
97
- end
98
- end
99
-
100
- end
101
-
@@ -1,5 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
-
3
- describe "SunspotPlus" do
4
-
5
- end