sunspot_rails 1.1.0 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (47) hide show
  1. data/History.txt +11 -0
  2. data/README.rdoc +13 -11
  3. data/Rakefile +1 -10
  4. data/TESTING.md +35 -0
  5. data/dev_tasks/spec.rake +22 -0
  6. data/lib/generators/sunspot_rails/install/install_generator.rb +13 -0
  7. data/lib/generators/sunspot_rails/install/templates/config/sunspot.yml +17 -0
  8. data/lib/generators/sunspot_rails.rb +9 -0
  9. data/lib/sunspot/rails/adapters.rb +6 -6
  10. data/lib/sunspot/rails/configuration.rb +53 -6
  11. data/{rails → lib/sunspot/rails}/init.rb +0 -2
  12. data/lib/sunspot/rails/railtie.rb +26 -0
  13. data/lib/sunspot/rails/request_lifecycle.rb +7 -2
  14. data/lib/sunspot/rails/searchable.rb +11 -13
  15. data/lib/sunspot/rails/server.rb +1 -1
  16. data/lib/sunspot/rails/solr_logging.rb +6 -1
  17. data/lib/sunspot/rails/spec_helper.rb +8 -1
  18. data/lib/sunspot/rails/tasks.rb +1 -1
  19. data/lib/sunspot/rails/version.rb +1 -1
  20. data/lib/sunspot_rails.rb +7 -0
  21. data/spec/configuration_spec.rb +80 -9
  22. data/spec/model_spec.rb +19 -21
  23. data/spec/request_lifecycle_spec.rb +11 -2
  24. data/spec/server_spec.rb +2 -1
  25. data/spec/spec_helper.rb +18 -23
  26. metadata +45 -48
  27. data/dev_tasks/gemspec.rake +0 -33
  28. data/spec/mock_app/app/controllers/application.rb +0 -10
  29. data/spec/mock_app/app/controllers/application_controller.rb +0 -10
  30. data/spec/mock_app/app/controllers/posts_controller.rb +0 -6
  31. data/spec/mock_app/app/models/author.rb +0 -8
  32. data/spec/mock_app/app/models/blog.rb +0 -12
  33. data/spec/mock_app/app/models/location.rb +0 -2
  34. data/spec/mock_app/app/models/photo_post.rb +0 -2
  35. data/spec/mock_app/app/models/post.rb +0 -10
  36. data/spec/mock_app/app/models/post_with_auto.rb +0 -10
  37. data/spec/mock_app/config/boot.rb +0 -110
  38. data/spec/mock_app/config/database.yml +0 -4
  39. data/spec/mock_app/config/environment.rb +0 -42
  40. data/spec/mock_app/config/environments/development.rb +0 -27
  41. data/spec/mock_app/config/environments/test.rb +0 -27
  42. data/spec/mock_app/config/initializers/new_rails_defaults.rb +0 -19
  43. data/spec/mock_app/config/initializers/session_store.rb +0 -15
  44. data/spec/mock_app/config/routes.rb +0 -43
  45. data/spec/mock_app/config/sunspot.yml +0 -19
  46. data/spec/mock_app/db/schema.rb +0 -27
  47. data/spec/mock_app/db/test.db +0 -0
data/spec/model_spec.rb CHANGED
@@ -15,6 +15,11 @@ describe 'ActiveRecord mixin' do
15
15
  Sunspot.commit
16
16
  Post.search.results.should == [@post]
17
17
  end
18
+
19
+ it "should not blow up if there's a default scope specifying order" do
20
+ posts = Array.new(2) { |j| PostWithDefaultScope.create! :title => (10-j).to_s }
21
+ lambda { PostWithDefaultScope.index(:batch_size => 1) }.should_not raise_error
22
+ end
18
23
  end
19
24
 
20
25
  describe 'single table inheritence' do
@@ -70,7 +75,7 @@ describe 'ActiveRecord mixin' do
70
75
 
71
76
  describe 'remove_all_from_index' do
72
77
  before :each do
73
- @posts = Array.new(10) { Post.create! }.each { |post| Sunspot.index(post) }
78
+ @posts = Array.new(2) { Post.create! }.each { |post| Sunspot.index(post) }
74
79
  Sunspot.commit
75
80
  Post.remove_all_from_index
76
81
  end
@@ -87,7 +92,7 @@ describe 'ActiveRecord mixin' do
87
92
 
88
93
  describe 'remove_all_from_index!' do
89
94
  before :each do
90
- Array.new(10) { Post.create! }.each { |post| Sunspot.index(post) }
95
+ Array.new(2) { Post.create! }.each { |post| Sunspot.index(post) }
91
96
  Sunspot.commit
92
97
  Post.remove_all_from_index!
93
98
  end
@@ -115,15 +120,8 @@ describe 'ActiveRecord mixin' do
115
120
  end.results.should be_empty
116
121
  end
117
122
 
118
- it 'should find ActiveRecord objects with an integer, not a string' do
119
- Post.should_receive(:all).with(hash_including(:conditions => { "id" => [@post.id.to_i] })).and_return([@post])
120
- Post.search do
121
- with :title, 'Test Post'
122
- end.results.should == [@post]
123
- end
124
-
125
123
  it 'should use the include option on the data accessor when specified' do
126
- Post.should_receive(:find).with(anything(), hash_including(:include => [:blog])).and_return([@post])
124
+ Post.should_receive(:all).with(hash_including(:include => [:blog])).and_return([@post])
127
125
  Post.search do
128
126
  with :title, 'Test Post'
129
127
  data_accessor_for(Post).include = [:blog]
@@ -131,14 +129,14 @@ describe 'ActiveRecord mixin' do
131
129
  end
132
130
 
133
131
  it 'should pass :include option from search call to data accessor' do
134
- Post.should_receive(:find).with(anything(), hash_including(:include => [:blog])).and_return([@post])
132
+ Post.should_receive(:all).with(hash_including(:include => [:blog])).and_return([@post])
135
133
  Post.search(:include => [:blog]) do
136
134
  with :title, 'Test Post'
137
135
  end.results.should == [@post]
138
136
  end
139
137
 
140
138
  it 'should use the select option from search call to data accessor' do
141
- Post.should_receive(:find).with(anything(), hash_including(:select => 'title, published_at')).and_return([@post])
139
+ Post.should_receive(:all).with(hash_including(:select => 'title, published_at')).and_return([@post])
142
140
  Post.search(:select => 'title, published_at') do
143
141
  with :title, 'Test Post'
144
142
  end.results.should == [@post]
@@ -149,7 +147,7 @@ describe 'ActiveRecord mixin' do
149
147
  end
150
148
 
151
149
  it 'should use the select option on the data accessor when specified' do
152
- Post.should_receive(:find).with(anything(), hash_including(:select => 'title, published_at')).and_return([@post])
150
+ Post.should_receive(:all).with(hash_including(:select => 'title, published_at')).and_return([@post])
153
151
  Post.search do
154
152
  with :title, 'Test Post'
155
153
  data_accessor_for(Post).select = [:title, :published_at]
@@ -157,7 +155,7 @@ describe 'ActiveRecord mixin' do
157
155
  end
158
156
 
159
157
  it 'should not use the select option on the data accessor when not specified' do
160
- Post.should_receive(:find).with(anything(), hash_not_including(:select)).and_return([@post])
158
+ Post.should_receive(:all).with(hash_not_including(:select)).and_return([@post])
161
159
  Post.search do
162
160
  with :title, 'Test Post'
163
161
  end.results.should == [@post]
@@ -177,7 +175,7 @@ describe 'ActiveRecord mixin' do
177
175
  post.location = Location.create!(:lat => 40.0, :lng => -70.0)
178
176
  post.save
179
177
  post.index!
180
- Post.search { near([40.0, -70.0], :distance => 1) }.results.should == [post]
178
+ Post.search { with(:location).near(40.0, -70.0) }.results.should == [post]
181
179
  end
182
180
 
183
181
  end
@@ -285,7 +283,7 @@ describe 'ActiveRecord mixin' do
285
283
  describe "reindex()" do
286
284
 
287
285
  before(:each) do
288
- @posts = Array.new(10) { Post.create }
286
+ @posts = Array.new(2) { Post.create }
289
287
  end
290
288
 
291
289
  describe "when not using batches" do
@@ -309,16 +307,16 @@ describe 'ActiveRecord mixin' do
309
307
  params[:limit].should == 500
310
308
  params[:include].should == []
311
309
  params[:conditions].should == ['posts.id > ?', 0]
312
- params[:order].should == 'id'
310
+ params[:order].should == 'posts.id'
313
311
  end.and_return(@posts)
314
312
  Post.reindex
315
313
  end
316
314
 
317
315
  it "should set the conditions using the overridden table attributes" do
318
- @posts = Array.new(10) { Author.create }
316
+ @posts = Array.new(2) { Author.create }
319
317
  Author.should_receive(:all).with do |params|
320
318
  params[:conditions].should == ['writers.writer_id > ?', 0]
321
- params[:order].should == 'writer_id'
319
+ params[:order].should == 'writers.writer_id'
322
320
  end.and_return(@posts)
323
321
  Author.reindex
324
322
  end
@@ -345,7 +343,7 @@ describe 'ActiveRecord mixin' do
345
343
  end
346
344
 
347
345
  it "should set the include option from the searchable options" do
348
- @blogs = Array.new(10) { Blog.create }
346
+ @blogs = Array.new(2) { Blog.create }
349
347
  Blog.should_receive(:all).with do |params|
350
348
  params[:include].should == [{ :posts => :author }, :comments]
351
349
  @blogs
@@ -355,7 +353,7 @@ describe 'ActiveRecord mixin' do
355
353
 
356
354
  it "should commit after indexing each batch" do
357
355
  Sunspot.should_receive(:commit).twice
358
- Post.reindex(:batch_size => 5)
356
+ Post.reindex(:batch_size => 1)
359
357
  end
360
358
 
361
359
  it "should commit after indexing everything" do
@@ -1,6 +1,12 @@
1
1
  require File.dirname(__FILE__) + '/spec_helper'
2
2
 
3
- describe 'request lifecycle', :type => :controller do
3
+ describe PostsController, :type => :controller do
4
+ begin
5
+ include ::RSpec::Rails::ControllerExampleGroup
6
+ rescue NameError
7
+ # Silent -- rspec-rails 1.x catches the :type => :controller
8
+ end
9
+
4
10
  before(:each) do
5
11
  Sunspot::Rails.configuration = @configuration = Sunspot::Rails::Configuration.new
6
12
  end
@@ -8,7 +14,10 @@ describe 'request lifecycle', :type => :controller do
8
14
  after(:each) do
9
15
  Sunspot::Rails.configuration = nil
10
16
  end
11
- controller_name :posts
17
+
18
+ unless respond_to?(:describes)
19
+ controller_name :posts # RSpec 1
20
+ end
12
21
 
13
22
  it 'should automatically commit after each action if specified' do
14
23
  @configuration.user_configuration = { 'auto_commit_after_request' => true }
data/spec/server_spec.rb CHANGED
@@ -3,7 +3,8 @@ require File.join(File.dirname(__FILE__), 'spec_helper')
3
3
  describe Sunspot::Rails::Server do
4
4
  before :each do
5
5
  @server = Sunspot::Rails::Server.new
6
- @solr_home = File.expand_path(File.join(Rails.root, 'solr'))
6
+ @config = Sunspot::Rails::Configuration.new
7
+ @solr_home = File.join(@config.solr_home)
7
8
  end
8
9
 
9
10
  it "sets the correct Solr home" do
data/spec/spec_helper.rb CHANGED
@@ -1,22 +1,21 @@
1
1
  ENV['RAILS_ENV'] = 'test'
2
- ENV['RAILS_ROOT'] ||= File.join(File.dirname(__FILE__), 'mock_app')
2
+ ENV['RAILS_ROOT'] ||= File.join(File.dirname(__FILE__), 'rails3')
3
3
  if rsolr_version = ENV['RSOLR_GEM_VERSION']
4
4
  STDERR.puts("Forcing RSolr version #{rsolr_version}")
5
5
  gem "rsolr", rsolr_version
6
6
  end
7
7
 
8
- if File.exist?(sunspot_lib = File.expand_path(File.join(File.dirname(__FILE__), '..', '..', 'sunspot', 'lib')))
9
- STDERR.puts("Using sunspot lib at #{sunspot_lib}")
10
- $: << sunspot_lib
11
- end
12
-
13
- require File.expand_path(File.join(ENV['RAILS_ROOT'], 'config', 'environment.rb'))
8
+ require File.expand_path('config/environment', ENV['RAILS_ROOT'])
14
9
 
15
- require 'spec'
16
- require 'spec/rails'
10
+ begin
11
+ require 'rspec'
12
+ require 'rspec/rails'
13
+ rescue LoadError => e
14
+ require 'spec'
15
+ require 'spec/rails'
16
+ end
17
17
  require 'rake'
18
- require 'ruby-debug' unless RUBY_VERSION > '1.9'
19
- require File.join(File.dirname(__FILE__), '..', 'lib', 'sunspot', 'rails', 'solr_logging')
18
+ require File.join('sunspot', 'rails', 'solr_logging')
20
19
 
21
20
  def load_schema
22
21
  stdout = $stdout
@@ -32,20 +31,16 @@ def silence_stderr(&block)
32
31
  $stderr = stderr
33
32
  end
34
33
 
35
- Spec::Runner.configure do |config|
34
+ rspec =
35
+ begin
36
+ RSpec
37
+ rescue NameError, ArgumentError
38
+ Spec::Runner
39
+ end
40
+
41
+ rspec.configure do |config|
36
42
  config.before(:each) do
37
43
  load_schema
38
44
  Sunspot.remove_all!
39
45
  end
40
46
  end
41
-
42
- module Spec
43
- module Mocks
44
- module Methods
45
- def should_respond_to_and_receive(*args, &block)
46
- respond_to?(args.first).should ==(true)
47
- should_receive(*args, &block)
48
- end
49
- end
50
- end
51
- end
metadata CHANGED
@@ -1,12 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sunspot_rails
3
3
  version: !ruby/object:Gem::Version
4
+ hash: 31
4
5
  prerelease: false
5
6
  segments:
6
7
  - 1
7
- - 1
8
+ - 2
8
9
  - 0
9
- version: 1.1.0
10
+ version: 1.2.0
10
11
  platform: ruby
11
12
  authors:
12
13
  - Mat Brown
@@ -22,30 +23,34 @@ autorequire:
22
23
  bindir: bin
23
24
  cert_chain: []
24
25
 
25
- date: 2010-04-01 00:00:00 -04:00
26
+ date: 2010-12-29 00:00:00 -05:00
26
27
  default_executable:
27
28
  dependencies:
28
29
  - !ruby/object:Gem::Dependency
29
30
  name: sunspot
30
31
  prerelease: false
31
32
  requirement: &id001 !ruby/object:Gem::Requirement
33
+ none: false
32
34
  requirements:
33
35
  - - "="
34
36
  - !ruby/object:Gem::Version
37
+ hash: 31
35
38
  segments:
36
39
  - 1
37
- - 1
40
+ - 2
38
41
  - 0
39
- version: 1.1.0
42
+ version: 1.2.0
40
43
  type: :runtime
41
44
  version_requirements: *id001
42
45
  - !ruby/object:Gem::Dependency
43
46
  name: rspec
44
47
  prerelease: false
45
48
  requirement: &id002 !ruby/object:Gem::Requirement
49
+ none: false
46
50
  requirements:
47
51
  - - ~>
48
52
  - !ruby/object:Gem::Version
53
+ hash: 11
49
54
  segments:
50
55
  - 1
51
56
  - 2
@@ -56,9 +61,11 @@ dependencies:
56
61
  name: rspec-rails
57
62
  prerelease: false
58
63
  requirement: &id003 !ruby/object:Gem::Requirement
64
+ none: false
59
65
  requirements:
60
66
  - - ~>
61
67
  - !ruby/object:Gem::Version
68
+ hash: 11
62
69
  segments:
63
70
  - 1
64
71
  - 2
@@ -81,61 +88,47 @@ extensions: []
81
88
  extra_rdoc_files: []
82
89
 
83
90
  files:
84
- - MIT-LICENSE
85
- - Rakefile
86
- - README.rdoc
87
- - TODO
88
- - History.txt
89
91
  - VERSION.yml
92
+ - TESTING.md
93
+ - Rakefile
94
+ - MIT-LICENSE
90
95
  - LICENSE
91
- - lib/sunspot/rails/spec_helper.rb
92
- - lib/sunspot/rails/searchable.rb
96
+ - History.txt
97
+ - TODO
98
+ - README.rdoc
99
+ - lib/sunspot_rails.rb
100
+ - lib/sunspot/rails/solr_logging.rb
101
+ - lib/sunspot/rails/railtie.rb
93
102
  - lib/sunspot/rails/version.rb
94
- - lib/sunspot/rails/stub_session_proxy.rb
95
- - lib/sunspot/rails/adapters.rb
96
- - lib/sunspot/rails/configuration.rb
97
103
  - lib/sunspot/rails/server.rb
98
- - lib/sunspot/rails/tasks.rb
104
+ - lib/sunspot/rails/configuration.rb
99
105
  - lib/sunspot/rails/request_lifecycle.rb
100
- - lib/sunspot/rails/solr_logging.rb
106
+ - lib/sunspot/rails/stub_session_proxy.rb
107
+ - lib/sunspot/rails/spec_helper.rb
108
+ - lib/sunspot/rails/tasks.rb
109
+ - lib/sunspot/rails/searchable.rb
110
+ - lib/sunspot/rails/adapters.rb
111
+ - lib/sunspot/rails/init.rb
101
112
  - lib/sunspot/rails.rb
102
- - dev_tasks/gemspec.rake
103
- - dev_tasks/todo.rake
104
- - dev_tasks/rdoc.rake
113
+ - lib/generators/sunspot_rails.rb
114
+ - lib/generators/sunspot_rails/install/install_generator.rb
115
+ - lib/generators/sunspot_rails/install/templates/config/sunspot.yml
116
+ - dev_tasks/spec.rake
105
117
  - dev_tasks/release.rake
106
- - generators/sunspot/sunspot_generator.rb
118
+ - dev_tasks/rdoc.rake
119
+ - dev_tasks/todo.rake
107
120
  - generators/sunspot/templates/sunspot.yml
121
+ - generators/sunspot/sunspot_generator.rb
108
122
  - install.rb
109
- - rails/init.rb
110
- - spec/spec_helper.rb
111
123
  - spec/session_spec.rb
112
- - spec/stub_session_proxy_spec.rb
113
- - spec/server_spec.rb
124
+ - spec/schema.rb
114
125
  - spec/configuration_spec.rb
115
126
  - spec/model_lifecycle_spec.rb
116
- - spec/schema.rb
117
- - spec/model_spec.rb
127
+ - spec/spec_helper.rb
128
+ - spec/stub_session_proxy_spec.rb
118
129
  - spec/request_lifecycle_spec.rb
119
- - spec/mock_app/app/controllers/posts_controller.rb
120
- - spec/mock_app/app/controllers/application_controller.rb
121
- - spec/mock_app/app/controllers/application.rb
122
- - spec/mock_app/app/models/location.rb
123
- - spec/mock_app/app/models/photo_post.rb
124
- - spec/mock_app/app/models/blog.rb
125
- - spec/mock_app/app/models/post_with_auto.rb
126
- - spec/mock_app/app/models/author.rb
127
- - spec/mock_app/app/models/post.rb
128
- - spec/mock_app/db/schema.rb
129
- - spec/mock_app/db/test.db
130
- - spec/mock_app/config/database.yml
131
- - spec/mock_app/config/environment.rb
132
- - spec/mock_app/config/initializers/session_store.rb
133
- - spec/mock_app/config/initializers/new_rails_defaults.rb
134
- - spec/mock_app/config/sunspot.yml
135
- - spec/mock_app/config/environments/development.rb
136
- - spec/mock_app/config/environments/test.rb
137
- - spec/mock_app/config/routes.rb
138
- - spec/mock_app/config/boot.rb
130
+ - spec/model_spec.rb
131
+ - spec/server_spec.rb
139
132
  has_rdoc: true
140
133
  homepage: http://github.com/outoftime/sunspot_rails
141
134
  licenses: []
@@ -146,23 +139,27 @@ rdoc_options: []
146
139
  require_paths:
147
140
  - lib
148
141
  required_ruby_version: !ruby/object:Gem::Requirement
142
+ none: false
149
143
  requirements:
150
144
  - - ">="
151
145
  - !ruby/object:Gem::Version
146
+ hash: 3
152
147
  segments:
153
148
  - 0
154
149
  version: "0"
155
150
  required_rubygems_version: !ruby/object:Gem::Requirement
151
+ none: false
156
152
  requirements:
157
153
  - - ">="
158
154
  - !ruby/object:Gem::Version
155
+ hash: 3
159
156
  segments:
160
157
  - 0
161
158
  version: "0"
162
159
  requirements: []
163
160
 
164
161
  rubyforge_project: sunspot
165
- rubygems_version: 1.3.6
162
+ rubygems_version: 1.3.7
166
163
  signing_key:
167
164
  specification_version: 3
168
165
  summary: Rails integration for the Sunspot Solr search library
@@ -1,33 +0,0 @@
1
- require File.join(File.dirname(__FILE__), '..', '..', 'tools', 'gem_tasks')
2
-
3
- Sunspot::GemTasks.new do |s|
4
- require File.join(File.dirname(__FILE__), '..', 'lib', 'sunspot', 'rails', 'version')
5
-
6
- s.name = 'sunspot_rails'
7
- s.version = Sunspot::Rails::VERSION
8
- s.summary = 'Rails integration for the Sunspot Solr search library'
9
- s.email = 'mat@patch.com'
10
- s.homepage = 'http://github.com/outoftime/sunspot_rails'
11
- s.description = <<TEXT
12
- Sunspot::Rails is an extension to the Sunspot library for Solr search.
13
- Sunspot::Rails adds integration between Sunspot and ActiveRecord, including
14
- defining search and indexing related methods on ActiveRecord models themselves,
15
- running a Sunspot-compatible Solr instance for development and test
16
- environments, and automatically commit Solr index changes at the end of each
17
- Rails request.
18
- TEXT
19
- s.authors = ['Mat Brown', 'Peer Allan', 'Michael Moen', 'Benjamin Krause', 'Adam Salter', 'Brandon Keepers', 'Paul Canavese', 'John Eberly', 'Gert Thiel']
20
- s.rubyforge_project = 'sunspot'
21
- s.files = FileList['[A-Z]*',
22
- '{lib,tasks,dev_tasks}/**/*',
23
- 'generators/**/*',
24
- 'install.rb',
25
- 'MIT-LICENSE',
26
- 'rails/*',
27
- 'spec/*.rb',
28
- 'spec/mock_app/{app,lib,db,vendor,config}/**/*',
29
- 'spec/mock_app/{tmp,log,solr}']
30
- s.add_dependency 'sunspot', Sunspot::Rails::VERSION
31
- s.add_development_dependency 'rspec', '~> 1.2'
32
- s.add_development_dependency 'rspec-rails', '~> 1.2'
33
- end
@@ -1,10 +0,0 @@
1
- # Filters added to this controller apply to all controllers in the application.
2
- # Likewise, all the methods added will be available for all controllers.
3
-
4
- class ApplicationController < ActionController::Base
5
- helper :all # include all helpers, all the time
6
- protect_from_forgery # See ActionController::RequestForgeryProtection for details
7
-
8
- # Scrub sensitive parameters from your log
9
- # filter_parameter_logging :password
10
- end
@@ -1,10 +0,0 @@
1
- # Filters added to this controller apply to all controllers in the application.
2
- # Likewise, all the methods added will be available for all controllers.
3
-
4
- class ApplicationController < ActionController::Base
5
- helper :all # include all helpers, all the time
6
- protect_from_forgery # See ActionController::RequestForgeryProtection for details
7
-
8
- # Scrub sensitive parameters from your log
9
- # filter_parameter_logging :password
10
- end
@@ -1,6 +0,0 @@
1
- class PostsController < ApplicationController
2
- def create
3
- PostWithAuto.create(params[:post])
4
- render :nothing => true
5
- end
6
- end
@@ -1,8 +0,0 @@
1
- class Author < ActiveRecord::Base
2
- set_table_name :writers
3
- set_primary_key :writer_id
4
-
5
- searchable do
6
- string :name
7
- end
8
- end
@@ -1,12 +0,0 @@
1
- class Blog < ActiveRecord::Base
2
- has_many :posts
3
- has_many :comments, :through => :posts
4
-
5
- searchable :include => { :posts => :author } do
6
- string :subdomain
7
- text :name
8
- end
9
-
10
- # Make sure that includes are added to with multiple searchable calls
11
- searchable(:include => :comments) {}
12
- end
@@ -1,2 +0,0 @@
1
- class Location < ActiveRecord::Base
2
- end
@@ -1,2 +0,0 @@
1
- class PhotoPost < PostWithAuto
2
- end
@@ -1,10 +0,0 @@
1
- class Post < ActiveRecord::Base
2
- belongs_to :location
3
- belongs_to :author
4
-
5
- searchable :auto_index => false, :auto_remove => false do
6
- string :title
7
- text :body, :more_like_this => true
8
- coordinates :location
9
- end
10
- end
@@ -1,10 +0,0 @@
1
- class PostWithAuto < ActiveRecord::Base
2
- def self.table_name
3
- 'posts'
4
- end
5
-
6
- searchable :ignore_attribute_changes_of => [ :updated_at ] do
7
- string :title
8
- text :body, :more_like_this => true
9
- end
10
- end
@@ -1,110 +0,0 @@
1
- # Don't change this file!
2
- # Configure your app in config/environment.rb and config/environments/*.rb
3
-
4
- RAILS_ROOT = "#{File.dirname(__FILE__)}/.." unless defined?(RAILS_ROOT)
5
-
6
- module Rails
7
- class << self
8
- def boot!
9
- unless booted?
10
- preinitialize
11
- pick_boot.run
12
- end
13
- end
14
-
15
- def booted?
16
- defined? Rails::Initializer
17
- end
18
-
19
- def pick_boot
20
- (vendor_rails? ? VendorBoot : GemBoot).new
21
- end
22
-
23
- def vendor_rails?
24
- File.exist?("#{RAILS_ROOT}/vendor/rails")
25
- end
26
-
27
- def preinitialize
28
- load(preinitializer_path) if File.exist?(preinitializer_path)
29
- end
30
-
31
- def preinitializer_path
32
- "#{RAILS_ROOT}/config/preinitializer.rb"
33
- end
34
- end
35
-
36
- class Boot
37
- def run
38
- load_initializer
39
- Rails::Initializer.run(:set_load_path)
40
- end
41
- end
42
-
43
- class VendorBoot < Boot
44
- def load_initializer
45
- require "#{RAILS_ROOT}/vendor/rails/railties/lib/initializer"
46
- Rails::Initializer.run(:install_gem_spec_stubs)
47
- Rails::GemDependency.add_frozen_gem_path
48
- end
49
- end
50
-
51
- class GemBoot < Boot
52
- def load_initializer
53
- self.class.load_rubygems
54
- load_rails_gem
55
- require 'initializer'
56
- end
57
-
58
- def load_rails_gem
59
- if version = self.class.gem_version
60
- gem 'rails', version
61
- else
62
- gem 'rails'
63
- end
64
- rescue Gem::LoadError => load_error
65
- $stderr.puts %(Missing the Rails #{version} gem. Please `gem install -v=#{version} rails`, update your RAILS_GEM_VERSION setting in config/environment.rb for the Rails version you do have installed, or comment out RAILS_GEM_VERSION to use the latest version installed.)
66
- exit 1
67
- end
68
-
69
- class << self
70
- def rubygems_version
71
- Gem::RubyGemsVersion rescue nil
72
- end
73
-
74
- def gem_version
75
- if defined? RAILS_GEM_VERSION
76
- RAILS_GEM_VERSION
77
- elsif ENV.include?('RAILS_GEM_VERSION')
78
- ENV['RAILS_GEM_VERSION']
79
- else
80
- parse_gem_version(read_environment_rb)
81
- end
82
- end
83
-
84
- def load_rubygems
85
- require 'rubygems'
86
- min_version = '1.3.1'
87
- unless rubygems_version >= min_version
88
- $stderr.puts %Q(Rails requires RubyGems >= #{min_version} (you have #{rubygems_version}). Please `gem update --system` and try again.)
89
- exit 1
90
- end
91
-
92
- rescue LoadError
93
- $stderr.puts %Q(Rails requires RubyGems >= #{min_version}. Please install RubyGems and try again: http://rubygems.rubyforge.org)
94
- exit 1
95
- end
96
-
97
- def parse_gem_version(text)
98
- $1 if text =~ /^[^#]*RAILS_GEM_VERSION\s*=\s*["']([!~<>=]*\s*[\d.]+)["']/
99
- end
100
-
101
- private
102
- def read_environment_rb
103
- File.read("#{RAILS_ROOT}/config/environment.rb")
104
- end
105
- end
106
- end
107
- end
108
-
109
- # All that for this:
110
- Rails.boot!
@@ -1,4 +0,0 @@
1
- test: &test
2
- :adapter: sqlite3
3
- :database: db/test.db
4
- development: *test