sunspot_plus 0.3.2 → 0.3.3

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