searchlogic 2.1.0 → 2.1.1
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/CHANGELOG.rdoc +6 -1
- data/README.rdoc +7 -1
- data/Rakefile +1 -15
- data/VERSION.yml +1 -1
- data/lib/searchlogic/named_scopes/associations.rb +6 -1
- data/searchlogic.gemspec +5 -2
- metadata +13 -4
data/CHANGELOG.rdoc
CHANGED
@@ -1,8 +1,13 @@
|
|
1
|
-
== 2.
|
1
|
+
== 2.1.1 released 2009-06-28
|
2
|
+
|
3
|
+
* Added inner_join convenience method.
|
4
|
+
|
5
|
+
== 2.1.0 released 2009-06-28
|
2
6
|
|
3
7
|
* Added a delete method to the Search class to allow the deleting of conditions off of the object.
|
4
8
|
* Add alias_scope feature, lets your create "named scopes" that represent a procedure of named scopes, while at the same time telling Searchlogic it is safe to use in the Search class.
|
5
9
|
* Use url_for as the default with form_for since rails does some magic to determine the url to use.
|
10
|
+
* Switched to using inner joins instead of left outer joins.
|
6
11
|
|
7
12
|
== 2.0.1 released 2009-06-20
|
8
13
|
|
data/README.rdoc
CHANGED
@@ -25,7 +25,13 @@ Or from github:
|
|
25
25
|
|
26
26
|
sudo gem install binarylogic-searchlogic
|
27
27
|
|
28
|
-
Now just include it in your project and you are ready to go.
|
28
|
+
Now just include it in your project and you are ready to go.
|
29
|
+
|
30
|
+
You can also install this as a plugin:
|
31
|
+
|
32
|
+
script/plugin install git://github.com/binarylogic/searchlogic.git
|
33
|
+
|
34
|
+
See below for usage examples.
|
29
35
|
|
30
36
|
== Search using conditions on columns
|
31
37
|
|
data/Rakefile
CHANGED
@@ -10,6 +10,7 @@ begin
|
|
10
10
|
gem.homepage = "http://github.com/binarylogic/searchlogic"
|
11
11
|
gem.authors = ["Ben Johnson of Binary Logic"]
|
12
12
|
gem.rubyforge_project = "searchlogic"
|
13
|
+
gem.add_dependency "activerecord", ">= 2.0.0"
|
13
14
|
end
|
14
15
|
rescue LoadError
|
15
16
|
puts "Jeweler (or a dependency) not available. Install it with: sudo gem install jeweler"
|
@@ -30,21 +31,6 @@ end
|
|
30
31
|
|
31
32
|
task :default => :spec
|
32
33
|
|
33
|
-
require 'rake/rdoctask'
|
34
|
-
Rake::RDocTask.new do |rdoc|
|
35
|
-
if File.exist?('VERSION.yml')
|
36
|
-
config = YAML.load(File.read('VERSION.yml'))
|
37
|
-
version = "#{config[:major]}.#{config[:minor]}.#{config[:patch]}"
|
38
|
-
else
|
39
|
-
version = ""
|
40
|
-
end
|
41
|
-
|
42
|
-
rdoc.rdoc_dir = 'rdoc'
|
43
|
-
rdoc.title = "search #{version}"
|
44
|
-
rdoc.rdoc_files.include('README*')
|
45
|
-
rdoc.rdoc_files.include('lib/**/*.rb')
|
46
|
-
end
|
47
|
-
|
48
34
|
begin
|
49
35
|
require 'rake/contrib/sshpublisher'
|
50
36
|
namespace :rubyforge do
|
data/VERSION.yml
CHANGED
@@ -29,6 +29,12 @@ module Searchlogic
|
|
29
29
|
!association_alias_condition_details(name).nil?
|
30
30
|
end
|
31
31
|
|
32
|
+
# A convenience method for creating inner join sql to that your inner joins
|
33
|
+
# are consistent with how Active Record creates them.
|
34
|
+
def inner_joins(association_name)
|
35
|
+
ActiveRecord::Associations::ClassMethods::InnerJoinDependency.new(self, association_name, nil).join_associations.collect { |assoc| assoc.association_join }
|
36
|
+
end
|
37
|
+
|
32
38
|
private
|
33
39
|
def method_missing(name, *args, &block)
|
34
40
|
if details = association_condition_details(name)
|
@@ -93,7 +99,6 @@ module Searchlogic
|
|
93
99
|
# named scope that is based on a hash.
|
94
100
|
options = scope.proxy_options
|
95
101
|
options[:joins] = options[:joins].blank? ? association.name : {association.name => options[:joins]}
|
96
|
-
#add_left_outer_joins(options, association)
|
97
102
|
options
|
98
103
|
else
|
99
104
|
# The underlying condition requires parameters, let's match the parameters it requires
|
data/searchlogic.gemspec
CHANGED
@@ -2,11 +2,11 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = %q{searchlogic}
|
5
|
-
s.version = "2.1.
|
5
|
+
s.version = "2.1.1"
|
6
6
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
8
8
|
s.authors = ["Ben Johnson of Binary Logic"]
|
9
|
-
s.date = %q{2009-06-
|
9
|
+
s.date = %q{2009-06-28}
|
10
10
|
s.email = %q{bjohnson@binarylogic.com}
|
11
11
|
s.extra_rdoc_files = [
|
12
12
|
"LICENSE",
|
@@ -62,8 +62,11 @@ Gem::Specification.new do |s|
|
|
62
62
|
s.specification_version = 3
|
63
63
|
|
64
64
|
if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
|
65
|
+
s.add_runtime_dependency(%q<activerecord>, [">= 2.0.0"])
|
65
66
|
else
|
67
|
+
s.add_dependency(%q<activerecord>, [">= 2.0.0"])
|
66
68
|
end
|
67
69
|
else
|
70
|
+
s.add_dependency(%q<activerecord>, [">= 2.0.0"])
|
68
71
|
end
|
69
72
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: searchlogic
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.1.
|
4
|
+
version: 2.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ben Johnson of Binary Logic
|
@@ -9,10 +9,19 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-06-
|
12
|
+
date: 2009-06-28 00:00:00 -04:00
|
13
13
|
default_executable:
|
14
|
-
dependencies:
|
15
|
-
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
16
|
+
name: activerecord
|
17
|
+
type: :runtime
|
18
|
+
version_requirement:
|
19
|
+
version_requirements: !ruby/object:Gem::Requirement
|
20
|
+
requirements:
|
21
|
+
- - ">="
|
22
|
+
- !ruby/object:Gem::Version
|
23
|
+
version: 2.0.0
|
24
|
+
version:
|
16
25
|
description:
|
17
26
|
email: bjohnson@binarylogic.com
|
18
27
|
executables: []
|