searchlogic 2.5.8 → 2.5.9

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.
data/.gitignore ADDED
@@ -0,0 +1,6 @@
1
+ .DS_Store
2
+ *.log
3
+ pkg/*
4
+ coverage/*
5
+ doc/*
6
+ benchmarks/*
data/Appraisals ADDED
@@ -0,0 +1,6 @@
1
+ [9,10,11,12,14].each do |i|
2
+ appraise "ar2.3.#{i}" do
3
+ gem 'activerecord', "2.3.#{i}"
4
+ end
5
+ end
6
+
data/Gemfile CHANGED
@@ -1,10 +1,2 @@
1
- source :rubygems
2
-
3
- gem 'activerecord', '~> 2.3.12'
4
-
5
- group :test do
6
- gem 'jeweler'
7
- gem 'ruby-debug19'
8
- gem 'rspec', '1.3.1'
9
- gem 'sqlite3'
10
- end
1
+ source 'https://rubygems.org'
2
+ gemspec
data/Gemfile.lock CHANGED
@@ -1,38 +1,28 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ searchlogic (2.5.8)
5
+ activerecord (~> 2.3.12)
6
+ activesupport (~> 2.3.12)
7
+
1
8
  GEM
2
- remote: http://rubygems.org/
9
+ remote: https://rubygems.org/
3
10
  specs:
4
- activerecord (2.3.12)
5
- activesupport (= 2.3.12)
6
- activesupport (2.3.12)
7
- archive-tar-minitar (0.5.2)
8
- columnize (0.3.4)
9
- git (1.2.5)
10
- jeweler (1.6.4)
11
- bundler (~> 1.0)
12
- git (>= 1.2.5)
11
+ activerecord (2.3.18)
12
+ activesupport (= 2.3.18)
13
+ activesupport (2.3.18)
14
+ appraisal (0.4.1)
15
+ bundler
13
16
  rake
14
- linecache19 (0.5.12)
15
- ruby_core_source (>= 0.1.4)
16
- rake (0.9.2)
17
- rspec (1.3.1)
18
- ruby-debug-base19 (0.11.25)
19
- columnize (>= 0.3.1)
20
- linecache19 (>= 0.5.11)
21
- ruby_core_source (>= 0.1.4)
22
- ruby-debug19 (0.11.6)
23
- columnize (>= 0.3.1)
24
- linecache19 (>= 0.5.11)
25
- ruby-debug-base19 (>= 0.11.19)
26
- ruby_core_source (0.1.5)
27
- archive-tar-minitar (>= 0.5.2)
28
- sqlite3 (1.3.4)
17
+ rake (10.0.4)
18
+ rspec (1.3.2)
19
+ sqlite3 (1.3.7)
29
20
 
30
21
  PLATFORMS
31
22
  ruby
32
23
 
33
24
  DEPENDENCIES
34
- activerecord (~> 2.3.12)
35
- jeweler
36
- rspec (= 1.3.1)
37
- ruby-debug19
25
+ appraisal (= 0.4.1)
26
+ rspec (~> 1.3.1)
27
+ searchlogic!
38
28
  sqlite3
data/README.rdoc CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  Searchlogic makes using ActiveRecord named scopes easier and less repetitive. It helps keep your code DRY, clean, and simple.
4
4
 
5
+ The specs pass with ActiveRecord 2.3.9 - 2.3.14 on Ruby 1.9.3-p125, 1.9.2-p318, and 1.8.7-p358
6
+
5
7
  == Helpful links
6
8
 
7
9
  * <b>Documentation:</b> http://rdoc.info/projects/binarylogic/searchlogic
data/Rakefile CHANGED
@@ -1,26 +1,9 @@
1
- require 'rubygems'
2
- require 'rake'
3
- require 'bundler'
4
-
1
+ #!/usr/bin/env rake
2
+ require "bundler/gem_tasks"
5
3
  Bundler.setup
6
-
7
- begin
8
- require 'jeweler'
9
- Jeweler::Tasks.new do |gem|
10
- gem.name = "searchlogic"
11
- gem.summary = "Searchlogic makes using ActiveRecord named scopes easier and less repetitive."
12
- gem.description = "Searchlogic makes using ActiveRecord named scopes easier and less repetitive."
13
- gem.email = "bjohnson@binarylogic.com"
14
- gem.homepage = "http://github.com/binarylogic/searchlogic"
15
- gem.authors = ["Ben Johnson of Binary Logic"]
16
- gem.add_bundler_dependencies
17
- end
18
- Jeweler::GemcutterTasks.new
19
- rescue LoadError
20
- puts "Jeweler (or a dependency) not available. Install it with: sudo gem install jeweler"
21
- end
22
-
4
+ require 'appraisal'
23
5
  require 'spec/rake/spectask'
6
+
24
7
  Spec::Rake::SpecTask.new(:spec) do |spec|
25
8
  spec.libs << 'lib' << 'spec'
26
9
  spec.spec_files = FileList['spec/**/*_spec.rb']
@@ -0,0 +1,7 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source :rubygems
4
+
5
+ gem "activerecord", "2.3.10"
6
+
7
+ gemspec :path=>"../"
@@ -0,0 +1,28 @@
1
+ PATH
2
+ remote: /Users/john/code/searchlogic
3
+ specs:
4
+ searchlogic (2.5.8)
5
+ activerecord (~> 2.3.8)
6
+
7
+ GEM
8
+ remote: http://rubygems.org/
9
+ specs:
10
+ activerecord (2.3.10)
11
+ activesupport (= 2.3.10)
12
+ activesupport (2.3.10)
13
+ appraisal (0.4.1)
14
+ bundler
15
+ rake
16
+ rake (0.9.2.2)
17
+ rspec (1.3.2)
18
+ sqlite3 (1.3.5)
19
+
20
+ PLATFORMS
21
+ ruby
22
+
23
+ DEPENDENCIES
24
+ activerecord (= 2.3.10)
25
+ appraisal (= 0.4.1)
26
+ rspec (~> 1.3.1)
27
+ searchlogic!
28
+ sqlite3
@@ -0,0 +1,7 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source :rubygems
4
+
5
+ gem "activerecord", "2.3.11"
6
+
7
+ gemspec :path=>"../"
@@ -0,0 +1,28 @@
1
+ PATH
2
+ remote: /Users/john/code/searchlogic
3
+ specs:
4
+ searchlogic (2.5.8)
5
+ activerecord (~> 2.3.8)
6
+
7
+ GEM
8
+ remote: http://rubygems.org/
9
+ specs:
10
+ activerecord (2.3.11)
11
+ activesupport (= 2.3.11)
12
+ activesupport (2.3.11)
13
+ appraisal (0.4.1)
14
+ bundler
15
+ rake
16
+ rake (0.9.2.2)
17
+ rspec (1.3.2)
18
+ sqlite3 (1.3.5)
19
+
20
+ PLATFORMS
21
+ ruby
22
+
23
+ DEPENDENCIES
24
+ activerecord (= 2.3.11)
25
+ appraisal (= 0.4.1)
26
+ rspec (~> 1.3.1)
27
+ searchlogic!
28
+ sqlite3
@@ -0,0 +1,7 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source :rubygems
4
+
5
+ gem "activerecord", "2.3.12"
6
+
7
+ gemspec :path=>"../"
@@ -0,0 +1,28 @@
1
+ PATH
2
+ remote: /Users/john/code/searchlogic
3
+ specs:
4
+ searchlogic (2.5.8)
5
+ activerecord (~> 2.3.8)
6
+
7
+ GEM
8
+ remote: http://rubygems.org/
9
+ specs:
10
+ activerecord (2.3.12)
11
+ activesupport (= 2.3.12)
12
+ activesupport (2.3.12)
13
+ appraisal (0.4.1)
14
+ bundler
15
+ rake
16
+ rake (0.9.2.2)
17
+ rspec (1.3.2)
18
+ sqlite3 (1.3.5)
19
+
20
+ PLATFORMS
21
+ ruby
22
+
23
+ DEPENDENCIES
24
+ activerecord (= 2.3.12)
25
+ appraisal (= 0.4.1)
26
+ rspec (~> 1.3.1)
27
+ searchlogic!
28
+ sqlite3
@@ -0,0 +1,7 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source :rubygems
4
+
5
+ gem "activerecord", "2.3.14"
6
+
7
+ gemspec :path=>"../"
@@ -0,0 +1,28 @@
1
+ PATH
2
+ remote: /Users/john/code/searchlogic
3
+ specs:
4
+ searchlogic (2.5.8)
5
+ activerecord (~> 2.3.8)
6
+
7
+ GEM
8
+ remote: http://rubygems.org/
9
+ specs:
10
+ activerecord (2.3.14)
11
+ activesupport (= 2.3.14)
12
+ activesupport (2.3.14)
13
+ appraisal (0.4.1)
14
+ bundler
15
+ rake
16
+ rake (0.9.2.2)
17
+ rspec (1.3.2)
18
+ sqlite3 (1.3.5)
19
+
20
+ PLATFORMS
21
+ ruby
22
+
23
+ DEPENDENCIES
24
+ activerecord (= 2.3.14)
25
+ appraisal (= 0.4.1)
26
+ rspec (~> 1.3.1)
27
+ searchlogic!
28
+ sqlite3
@@ -0,0 +1,7 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source :rubygems
4
+
5
+ gem "activerecord", "2.3.9"
6
+
7
+ gemspec :path=>"../"
@@ -0,0 +1,28 @@
1
+ PATH
2
+ remote: /Users/john/code/searchlogic
3
+ specs:
4
+ searchlogic (2.5.8)
5
+ activerecord (~> 2.3.8)
6
+
7
+ GEM
8
+ remote: http://rubygems.org/
9
+ specs:
10
+ activerecord (2.3.9)
11
+ activesupport (= 2.3.9)
12
+ activesupport (2.3.9)
13
+ appraisal (0.4.1)
14
+ bundler
15
+ rake
16
+ rake (0.9.2.2)
17
+ rspec (1.3.2)
18
+ sqlite3 (1.3.5)
19
+
20
+ PLATFORMS
21
+ ruby
22
+
23
+ DEPENDENCIES
24
+ activerecord (= 2.3.9)
25
+ appraisal (= 0.4.1)
26
+ rspec (~> 1.3.1)
27
+ searchlogic!
28
+ sqlite3
data/lib/searchlogic.rb CHANGED
@@ -1,3 +1,5 @@
1
+ require 'active_record'
2
+ require "searchlogic/version"
1
3
  require "searchlogic/core_ext/proc"
2
4
  require "searchlogic/core_ext/object"
3
5
  require "searchlogic/active_record/consistency"
@@ -8,14 +8,21 @@ module Searchlogic
8
8
  module Scope
9
9
  def scopes
10
10
  read_inheritable_attribute(:scopes) || write_inheritable_attribute(:scopes, {}.tap do |h|
11
+
12
+ class << h
13
+ attr_accessor :active_record_class
14
+ end
15
+ h.active_record_class = self
16
+
11
17
  h.instance_eval <<-eval
12
18
  def include?(key)
13
19
  result = super
14
20
  return result if result
15
- #{name}.respond_to?(key)
21
+ active_record_class.respond_to?(key)
16
22
  super
17
23
  end
18
24
  eval
25
+
19
26
  end)
20
27
  end
21
28
  end
@@ -8,7 +8,7 @@ module Searchlogic
8
8
  # or represents a named scope procedure. Ex:
9
9
  #
10
10
  # class User
11
- # def teenager
11
+ # def self.teenager
12
12
  # age_gte(13).age_lte(19)
13
13
  # end
14
14
  # end
@@ -37,7 +37,7 @@ module Searchlogic
37
37
  define_method name do |*args|
38
38
  case options
39
39
  when Symbol
40
- send(options)
40
+ send(options, *args)
41
41
  else
42
42
  options.call(*args)
43
43
  end
@@ -32,7 +32,7 @@ module Searchlogic
32
32
  poly_type = nil
33
33
  condition = nil
34
34
 
35
- if name_with_condition.to_s =~ /^(#{non_poly_assocs.collect(&:name).join("|")})_(\w+)$/
35
+ if name_with_condition.to_s =~ /^(#{non_poly_assocs.collect(&:name).join("|")})_(\w+)$/ && non_poly_assocs.present?
36
36
  association_name = $1
37
37
  condition = $2
38
38
  elsif name_with_condition.to_s =~ /^(#{poly_assocs.collect(&:name).join("|")})_(\w+?)_type_(\w+)$/
@@ -59,7 +59,7 @@ module Searchlogic
59
59
 
60
60
  # We want to return true for any conditions that can be called, and while we're at it. We might as well
61
61
  # create the condition so we don't have to do it again.
62
- def respond_to?(*args)
62
+ def respond_to_missing?(*args)
63
63
  super || (self != ::ActiveRecord::Base && !self.abstract_class? && !create_condition(args.first).blank?)
64
64
  end
65
65
 
@@ -113,7 +113,7 @@ module Searchlogic
113
113
  column = columns_hash[column_name.to_s]
114
114
  column_type = column.type
115
115
  skip_conversion = skip_time_zone_conversion_for_attributes.include?(column.name.to_sym)
116
- match_keyword = ::ActiveRecord::Base.connection.adapter_name == "PostgreSQL" ? "ILIKE" : "LIKE"
116
+ match_keyword = self.connection.adapter_name == "PostgreSQL" ? "ILIKE" : "LIKE"
117
117
 
118
118
  scope_options = case condition.to_s
119
119
  when /^equals/
@@ -7,7 +7,7 @@ module Searchlogic
7
7
  end
8
8
 
9
9
  def compact_conditions
10
- conditions.select { |k,v| !v.blank? }
10
+ Hash[conditions.select { |k,v| !v.blank? }]
11
11
  end
12
12
 
13
13
  # Accepts a hash of conditions.
@@ -1,7 +1,7 @@
1
1
  module Searchlogic
2
2
  class Search
3
3
  module MethodMissing
4
- def respond_to?(*args)
4
+ def respond_to_missing?(*args)
5
5
  super || scope?(normalize_scope_name(args.first))
6
6
  rescue Searchlogic::NamedScopes::OrConditions::UnknownConditionError
7
7
  false
@@ -0,0 +1,3 @@
1
+ module Searchlogic
2
+ VERSION = "2.5.9"
3
+ end
data/searchlogic.gemspec CHANGED
@@ -1,86 +1,26 @@
1
- # Generated by jeweler
2
- # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
1
  # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+ require File.expand_path('../lib/searchlogic/version', __FILE__)
5
4
 
6
5
  Gem::Specification.new do |s|
7
- s.name = %q{searchlogic}
8
- s.version = "2.5.8"
9
-
10
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
- s.authors = [%q{Ben Johnson of Binary Logic}]
12
- s.date = %q{2011-08-15}
6
+ s.name = "searchlogic"
7
+ s.version = Searchlogic::VERSION
8
+ s.platform = Gem::Platform::RUBY
9
+ s.authors = ["Ben Johnson"]
10
+ s.email = ["bjohnson@binarylogic.com"]
11
+ s.homepage = "http://github.com/binarylogic/searchlogic"
12
+ s.summary = %q{Searchlogic makes using ActiveRecord named scopes easier and less repetitive.}
13
13
  s.description = %q{Searchlogic makes using ActiveRecord named scopes easier and less repetitive.}
14
- s.email = %q{bjohnson@binarylogic.com}
15
- s.extra_rdoc_files = [
16
- "LICENSE",
17
- "README.rdoc"
18
- ]
19
- s.files = [
20
- "Gemfile",
21
- "Gemfile.lock",
22
- "LICENSE",
23
- "README.rdoc",
24
- "Rakefile",
25
- "VERSION.yml",
26
- "init.rb",
27
- "lib/searchlogic.rb",
28
- "lib/searchlogic/active_record/consistency.rb",
29
- "lib/searchlogic/active_record/named_scope_tools.rb",
30
- "lib/searchlogic/active_record/scope.rb",
31
- "lib/searchlogic/core_ext/object.rb",
32
- "lib/searchlogic/core_ext/proc.rb",
33
- "lib/searchlogic/named_scopes/alias_scope.rb",
34
- "lib/searchlogic/named_scopes/association_conditions.rb",
35
- "lib/searchlogic/named_scopes/association_ordering.rb",
36
- "lib/searchlogic/named_scopes/base.rb",
37
- "lib/searchlogic/named_scopes/column_conditions.rb",
38
- "lib/searchlogic/named_scopes/or_conditions.rb",
39
- "lib/searchlogic/named_scopes/ordering.rb",
40
- "lib/searchlogic/rails_helpers.rb",
41
- "lib/searchlogic/search.rb",
42
- "lib/searchlogic/search/base.rb",
43
- "lib/searchlogic/search/conditions.rb",
44
- "lib/searchlogic/search/date_parts.rb",
45
- "lib/searchlogic/search/implementation.rb",
46
- "lib/searchlogic/search/method_missing.rb",
47
- "lib/searchlogic/search/ordering.rb",
48
- "lib/searchlogic/search/scopes.rb",
49
- "lib/searchlogic/search/to_yaml.rb",
50
- "lib/searchlogic/search/unknown_condition_error.rb",
51
- "rails/init.rb",
52
- "searchlogic.gemspec",
53
- "spec/searchlogic/active_record/association_proxy_spec.rb",
54
- "spec/searchlogic/active_record/consistency_spec.rb",
55
- "spec/searchlogic/core_ext/object_spec.rb",
56
- "spec/searchlogic/core_ext/proc_spec.rb",
57
- "spec/searchlogic/named_scopes/alias_scope_spec.rb",
58
- "spec/searchlogic/named_scopes/association_conditions_spec.rb",
59
- "spec/searchlogic/named_scopes/association_ordering_spec.rb",
60
- "spec/searchlogic/named_scopes/column_conditions_spec.rb",
61
- "spec/searchlogic/named_scopes/or_conditions_spec.rb",
62
- "spec/searchlogic/named_scopes/ordering_spec.rb",
63
- "spec/searchlogic/search_spec.rb",
64
- "spec/spec_helper.rb"
65
- ]
66
- s.homepage = %q{http://github.com/binarylogic/searchlogic}
67
- s.require_paths = [%q{lib}]
68
- s.rubygems_version = %q{1.8.6}
69
- s.summary = %q{Searchlogic makes using ActiveRecord named scopes easier and less repetitive.}
70
14
 
71
- if s.respond_to? :specification_version then
72
- s.specification_version = 3
15
+ s.add_dependency 'activerecord', '~> 2.3.12'
16
+ s.add_dependency 'activesupport', '~> 2.3.12'
17
+ s.add_development_dependency 'rspec', '~> 1.3.1'
18
+ s.add_development_dependency 'sqlite3'
19
+ s.add_development_dependency 'appraisal', '0.4.1'
73
20
 
74
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
75
- s.add_runtime_dependency(%q<activerecord>, ["~> 2.3.12"])
76
- s.add_runtime_dependency(%q<activerecord>, ["~> 2.3.12"])
77
- else
78
- s.add_dependency(%q<activerecord>, ["~> 2.3.12"])
79
- s.add_dependency(%q<activerecord>, ["~> 2.3.12"])
80
- end
81
- else
82
- s.add_dependency(%q<activerecord>, ["~> 2.3.12"])
83
- s.add_dependency(%q<activerecord>, ["~> 2.3.12"])
84
- end
85
- end
86
21
 
22
+ s.files = `git ls-files`.split("\n")
23
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
24
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
25
+ s.require_paths = ["lib"]
26
+ end
@@ -11,6 +11,13 @@ describe Searchlogic::NamedScopes::AliasScope do
11
11
  User.username_has("bjohnson").all.should == User.find_all_by_username("bjohnson")
12
12
  end
13
13
 
14
+ it "should allow alias scopes with symbols" do
15
+ User.alias_scope :login_has, :username_has
16
+ User.create(:username => "bjohnson")
17
+ User.create(:username => "thunt")
18
+ User.login_has("bjohnson").all.should == User.find_all_by_username("bjohnson")
19
+ end
20
+
14
21
  it "should allow alias scopes from the search object" do
15
22
  search = User.search
16
23
  search.username_has = "bjohnson"
@@ -217,4 +217,10 @@ describe Searchlogic::NamedScopes::AssociationConditions do
217
217
  user.orders.id_equals(order1.id).count.should == 1
218
218
  user.orders.id_equals(order1.id).total_equals(2).count.should == 1
219
219
  end
220
+
221
+ it "should allow Marshal.dump on objects that only have polymorphic associations where a polymorphic association is loaded" do
222
+ audit = Audit.create
223
+ audit.auditable = User.create
224
+ lambda { Marshal.dump(audit) }.should_not raise_error
225
+ end
220
226
  end
@@ -26,6 +26,9 @@ describe Searchlogic::NamedScopes::ColumnConditions do
26
26
  it "should have does not equal" do
27
27
  (5..7).each { |age| User.create(:age => age) }
28
28
  User.age_does_not_equal(6).all.should == User.find_all_by_age([5,7])
29
+
30
+ User.create!(:age => nil)
31
+ User.age_does_not_equal(nil).all.size.should == 3
29
32
  end
30
33
 
31
34
  it "should have less than" do
@@ -326,4 +329,8 @@ describe Searchlogic::NamedScopes::ColumnConditions do
326
329
  count2 = User.id_ne(10).username_not_like("root").count
327
330
  count1.should == count2
328
331
  end
332
+
333
+ it "should produce left outer joins" do
334
+ User.left_outer_joins(:orders).should == [" LEFT OUTER JOIN \"orders\" ON orders.user_id = users.id "]
335
+ end
329
336
  end
@@ -39,6 +39,12 @@ describe Searchlogic::NamedScopes::OrConditions do
39
39
  {:conditions => "((users.username LIKE '%ben') OR (users.name LIKE '%ben')) AND ((users.age IS NOT NULL) AND ((users.id > 10) AND (users.username LIKE 'ben%')))"}
40
40
  end
41
41
 
42
+ it "should work with boolean conditions" do
43
+ User.male_or_name_eq("susan").proxy_options.should == {:conditions => %Q{("users"."male" = 't') OR (users.name = 'susan')}}
44
+ User.not_male_or_name_eq("susan").proxy_options.should == {:conditions => %Q{("users"."male" = 'f') OR (users.name = 'susan')}}
45
+ lambda { User.male_or_name_eq("susan").all }.should_not raise_error
46
+ end
47
+
42
48
  it "should play nice with scopes on associations" do
43
49
  lambda { User.name_or_company_name_like("ben") }.should_not raise_error(Searchlogic::NamedScopes::OrConditions::NoConditionSpecifiedError)
44
50
  User.name_or_company_name_like("ben").proxy_options.should == {:joins => :company, :conditions => "(users.name LIKE '%ben%') OR (companies.name LIKE '%ben%')"}
@@ -47,6 +53,10 @@ describe Searchlogic::NamedScopes::OrConditions do
47
53
  Cart.user_company_name_or_user_company_name_like("ben").proxy_options.should == {:joins => {:user=>:company}, :conditions => "(companies.name LIKE '%ben%') OR (companies.name LIKE '%ben%')"}
48
54
  end
49
55
 
56
+ it "should raise an error on missing condition" do
57
+ lambda { User.id_or_age(123) }.should raise_error(Searchlogic::NamedScopes::OrConditions::NoConditionSpecifiedError)
58
+ end
59
+
50
60
  it "should not get confused by the 'or' in find_or_create_by_* methods" do
51
61
  User.create(:name => "Fred")
52
62
  User.find_or_create_by_name("Fred").should be_a_kind_of User
data/spec/spec_helper.rb CHANGED
@@ -1,7 +1,5 @@
1
- require 'spec'
2
- require 'rubygems'
3
- require 'ruby-debug'
4
- require "active_record"
1
+ Bundler.setup
2
+ require 'searchlogic'
5
3
 
6
4
  ENV['TZ'] = 'UTC'
7
5
  Time.zone = 'Eastern Time (US & Canada)'
@@ -76,9 +74,6 @@ ActiveRecord::Schema.define(:version => 1) do
76
74
  end
77
75
  end
78
76
 
79
- $LOAD_PATH.unshift(File.dirname(__FILE__))
80
- $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
81
- require 'searchlogic'
82
77
 
83
78
  Spec::Runner.configure do |config|
84
79
  config.before(:each) do
@@ -130,9 +125,11 @@ Spec::Runner.configure do |config|
130
125
  end
131
126
 
132
127
  config.after(:each) do
133
- Object.send(:remove_const, :Company)
134
- Object.send(:remove_const, :User)
135
- Object.send(:remove_const, :Order)
136
- Object.send(:remove_const, :LineItem)
128
+ class ::Object
129
+ remove_const :Company rescue nil
130
+ remove_const :User rescue nil
131
+ remove_const :Order rescue nil
132
+ remove_const :LineItem rescue nil
133
+ end
137
134
  end
138
135
  end
metadata CHANGED
@@ -1,19 +1,19 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: searchlogic
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.5.8
4
+ version: 2.5.9
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
8
- - Ben Johnson of Binary Logic
8
+ - Ben Johnson
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-08-15 00:00:00.000000000Z
12
+ date: 2013-04-05 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activerecord
16
- requirement: &70201945599980 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,10 +21,15 @@ dependencies:
21
21
  version: 2.3.12
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70201945599980
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ version: 2.3.12
25
30
  - !ruby/object:Gem::Dependency
26
- name: activerecord
27
- requirement: &70201945599340 !ruby/object:Gem::Requirement
31
+ name: activesupport
32
+ requirement: !ruby/object:Gem::Requirement
28
33
  none: false
29
34
  requirements:
30
35
  - - ~>
@@ -32,21 +37,85 @@ dependencies:
32
37
  version: 2.3.12
33
38
  type: :runtime
34
39
  prerelease: false
35
- version_requirements: *70201945599340
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ~>
44
+ - !ruby/object:Gem::Version
45
+ version: 2.3.12
46
+ - !ruby/object:Gem::Dependency
47
+ name: rspec
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ~>
52
+ - !ruby/object:Gem::Version
53
+ version: 1.3.1
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: 1.3.1
62
+ - !ruby/object:Gem::Dependency
63
+ name: sqlite3
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ! '>='
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
70
+ type: :development
71
+ prerelease: false
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
79
+ name: appraisal
80
+ requirement: !ruby/object:Gem::Requirement
81
+ none: false
82
+ requirements:
83
+ - - '='
84
+ - !ruby/object:Gem::Version
85
+ version: 0.4.1
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: 0.4.1
36
94
  description: Searchlogic makes using ActiveRecord named scopes easier and less repetitive.
37
- email: bjohnson@binarylogic.com
95
+ email:
96
+ - bjohnson@binarylogic.com
38
97
  executables: []
39
98
  extensions: []
40
- extra_rdoc_files:
41
- - LICENSE
42
- - README.rdoc
99
+ extra_rdoc_files: []
43
100
  files:
101
+ - .gitignore
102
+ - Appraisals
44
103
  - Gemfile
45
104
  - Gemfile.lock
46
105
  - LICENSE
47
106
  - README.rdoc
48
107
  - Rakefile
49
108
  - VERSION.yml
109
+ - gemfiles/ar2.3.10.gemfile
110
+ - gemfiles/ar2.3.10.gemfile.lock
111
+ - gemfiles/ar2.3.11.gemfile
112
+ - gemfiles/ar2.3.11.gemfile.lock
113
+ - gemfiles/ar2.3.12.gemfile
114
+ - gemfiles/ar2.3.12.gemfile.lock
115
+ - gemfiles/ar2.3.14.gemfile
116
+ - gemfiles/ar2.3.14.gemfile.lock
117
+ - gemfiles/ar2.3.9.gemfile
118
+ - gemfiles/ar2.3.9.gemfile.lock
50
119
  - init.rb
51
120
  - lib/searchlogic.rb
52
121
  - lib/searchlogic/active_record/consistency.rb
@@ -72,6 +141,7 @@ files:
72
141
  - lib/searchlogic/search/scopes.rb
73
142
  - lib/searchlogic/search/to_yaml.rb
74
143
  - lib/searchlogic/search/unknown_condition_error.rb
144
+ - lib/searchlogic/version.rb
75
145
  - rails/init.rb
76
146
  - searchlogic.gemspec
77
147
  - spec/searchlogic/active_record/association_proxy_spec.rb
@@ -98,9 +168,6 @@ required_ruby_version: !ruby/object:Gem::Requirement
98
168
  - - ! '>='
99
169
  - !ruby/object:Gem::Version
100
170
  version: '0'
101
- segments:
102
- - 0
103
- hash: -4287621832088109185
104
171
  required_rubygems_version: !ruby/object:Gem::Requirement
105
172
  none: false
106
173
  requirements:
@@ -109,8 +176,20 @@ required_rubygems_version: !ruby/object:Gem::Requirement
109
176
  version: '0'
110
177
  requirements: []
111
178
  rubyforge_project:
112
- rubygems_version: 1.8.6
179
+ rubygems_version: 1.8.25
113
180
  signing_key:
114
181
  specification_version: 3
115
182
  summary: Searchlogic makes using ActiveRecord named scopes easier and less repetitive.
116
- test_files: []
183
+ test_files:
184
+ - spec/searchlogic/active_record/association_proxy_spec.rb
185
+ - spec/searchlogic/active_record/consistency_spec.rb
186
+ - spec/searchlogic/core_ext/object_spec.rb
187
+ - spec/searchlogic/core_ext/proc_spec.rb
188
+ - spec/searchlogic/named_scopes/alias_scope_spec.rb
189
+ - spec/searchlogic/named_scopes/association_conditions_spec.rb
190
+ - spec/searchlogic/named_scopes/association_ordering_spec.rb
191
+ - spec/searchlogic/named_scopes/column_conditions_spec.rb
192
+ - spec/searchlogic/named_scopes/or_conditions_spec.rb
193
+ - spec/searchlogic/named_scopes/ordering_spec.rb
194
+ - spec/searchlogic/search_spec.rb
195
+ - spec/spec_helper.rb