aub-record_filter 0.9.10 → 0.9.11
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/VERSION.yml +1 -1
- data/lib/record_filter/active_record.rb +1 -1
- data/lib/record_filter/filter.rb +10 -4
- data/record_filter.gemspec +3 -3
- data/spec/restrictions_spec.rb +2 -1
- data/spec/test.db +0 -0
- metadata +2 -2
data/VERSION.yml
CHANGED
data/lib/record_filter/filter.rb
CHANGED
@@ -10,11 +10,17 @@ module RecordFilter
|
|
10
10
|
end
|
11
11
|
end
|
12
12
|
|
13
|
-
def initialize(clazz,
|
14
|
-
|
15
|
-
|
13
|
+
def initialize(clazz, filter, *args, &block) # :nodoc:
|
14
|
+
if clazz.is_a?(Class)
|
15
|
+
@current_scoped_methods = clazz.send(:current_scoped_methods)
|
16
|
+
@clazz = clazz
|
17
|
+
elsif clazz.is_a?(Array) && clazz.respond_to?(:proxy_reflection)
|
18
|
+
@current_scoped_methods = { :create => {}, :find => { :conditions => filter } }
|
19
|
+
@clazz = clazz.proxy_reflection.klass
|
20
|
+
filter = nil
|
21
|
+
end
|
16
22
|
|
17
|
-
@query = Query.new(@clazz,
|
23
|
+
@query = Query.new(@clazz, filter, *args, &block)
|
18
24
|
end
|
19
25
|
|
20
26
|
def first(*args) # :nodoc:
|
data/record_filter.gemspec
CHANGED
@@ -2,11 +2,11 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = %q{record_filter}
|
5
|
-
s.version = "0.9.
|
5
|
+
s.version = "0.9.11"
|
6
6
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
8
8
|
s.authors = ["Aubrey Holland", "Mat Brown"]
|
9
|
-
s.date = %q{2009-08-
|
9
|
+
s.date = %q{2009-08-11}
|
10
10
|
s.description = %q{RecordFilter is a Pure-ruby criteria API for building complex queries in ActiveRecord. It supports queries that are built on the fly as well as named filters that can be added to objects and chained to create complex queries. It also gets rid of the nasty hard-coded SQL that shows up in most ActiveRecord code with a clean API that makes queries simple and intuitive to build.}
|
11
11
|
s.email = %q{aubreyholland@gmail.com}
|
12
12
|
s.extra_rdoc_files = [
|
@@ -69,7 +69,7 @@ Gem::Specification.new do |s|
|
|
69
69
|
s.homepage = %q{http://github.com/aub/record_filter/tree/master}
|
70
70
|
s.rdoc_options = ["--charset=UTF-8"]
|
71
71
|
s.require_paths = ["lib"]
|
72
|
-
s.rubygems_version = %q{1.3.
|
72
|
+
s.rubygems_version = %q{1.3.3}
|
73
73
|
s.summary = %q{An ActiveRecord query API for replacing SQL with awesome}
|
74
74
|
s.test_files = [
|
75
75
|
"spec/active_record_spec.rb",
|
data/spec/restrictions_spec.rb
CHANGED
@@ -242,9 +242,10 @@ describe 'RecordFilter restrictions' do
|
|
242
242
|
end
|
243
243
|
|
244
244
|
it 'should properly filter when filter is applied to an association' do
|
245
|
+
Post.create
|
245
246
|
Post.first.comments.filter do
|
246
247
|
with(:offensive, true)
|
247
248
|
end.inspect
|
248
|
-
Comment.last_find.should == { :readonly => false, :conditions =>
|
249
|
+
Comment.last_find.should == { :readonly => false, :conditions => "(\"comments\".offensive = 't') AND (\"comments\".post_id = #{Post.first.id})" }
|
249
250
|
end
|
250
251
|
end
|
data/spec/test.db
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: aub-record_filter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
4
|
+
version: 0.9.11
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Aubrey Holland
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2009-08-
|
13
|
+
date: 2009-08-11 00:00:00 -07:00
|
14
14
|
default_executable:
|
15
15
|
dependencies: []
|
16
16
|
|