fake_arel 0.6 → 0.7

Sign up to get free protection for your applications and to get access to all the features.
data/README.rdoc CHANGED
@@ -44,6 +44,11 @@ http://github.com/gammons/fake_arel
44
44
 
45
45
  * gem install fake_arel
46
46
 
47
+ == AUTHORS:
48
+
49
+ * Grant Ammons
50
+ * Sokolov Yura
51
+
47
52
  == LICENSE:
48
53
 
49
54
  (The MIT License)
@@ -34,8 +34,12 @@ module ActiveRecord
34
34
  ret = proxy_options
35
35
  while local_scope.class == ActiveRecord::NamedScope::Scope
36
36
  local_conditions = merge_conditions(local_scope.proxy_options[:conditions])
37
- if local_conditions and ret[:conditions] and not ret[:conditions].index local_conditions
38
- ret[:conditions] = merge_conditions(ret[:conditions], local_scope.proxy_options[:conditions])
37
+ if local_conditions && ret[:conditions]
38
+ if !ret[:conditions].index(local_conditions)
39
+ ret[:conditions] = merge_conditions(ret[:conditions], local_scope.proxy_options[:conditions])
40
+ end
41
+ elsif local_conditions
42
+ ret[:conditions] = local_conditions
39
43
  end
40
44
  ret[:includes] = merge_includes(ret[:includes], local_scope.proxy_options[:includes]) if ret[:includes] || local_scope.proxy_options[:includes]
41
45
  ret[:joins] = merge_includes(ret[:joins], local_scope.proxy_options[:joins])
@@ -9,7 +9,7 @@ module Rails3Finders
9
9
  named_scope :includes, lambda { |*includes| { :include => includes }}
10
10
  named_scope :select, lambda {|*select| {:select => select.join(',') }}
11
11
  named_scope :order, lambda {|*order| {:order => order.join(',') }}
12
- named_scope :joins, lambda {|*join| {:joins => join }}
12
+ named_scope :joins, lambda {|*join| {:joins => join } if join[0]}
13
13
  named_scope :from, lambda {|*from| {:from => from }}
14
14
  named_scope :having, lambda {|*having| {:having => having }}
15
15
  named_scope :group, lambda {|*group| {:group => group }}
data/lib/fake_arel.rb CHANGED
@@ -8,7 +8,7 @@ require 'fake_arel/with_scope_replacement'
8
8
  require 'fake_arel/rails_3_finders'
9
9
 
10
10
  module FakeArel
11
- VERSION = '0.6'
11
+ VERSION = '0.7'
12
12
  ActiveRecord::Base.send :include, Rails3Finders
13
13
  ActiveRecord::Base.send :include, WithScopeReplacement
14
14
  end
@@ -48,7 +48,7 @@ describe "chained nested named scopes" do
48
48
  it "should be able to chain named scopes within a named_scope" do
49
49
  Reply.recent_with_content_like_ar.should == Reply.find(:all, :conditions => "id = 5")
50
50
  Reply.recent_with_content_like_ar_and_id_4.should == []
51
- Reply.recent_joins_topic.topic_title_is("ActiveRecord").first.should == Reply.find(4)
51
+ Reply.recent_joins_topic.topic_title_is("ActiveRecord").first.should == Reply.find(5)
52
52
  Reply.recent_joins_topic.topic_title_is("Nothin").first.should == nil
53
53
  end
54
54
 
@@ -75,7 +75,11 @@ describe "chained nested named scopes" do
75
75
  it "should properly chain order scope in definitions by lambda" do
76
76
  Reply.topic__id_asc(4).all.should == Reply.find(:all, :conditions => {:topic_id => 4}, :order=>'id asc')
77
77
  Reply.order('id desc').topic_id(4).all.should == Reply.find(:all, :conditions => {:topic_id => 4}, :order=>'id desc')
78
- Reply.topic__id_desc(4).all.should == Reply.find(:all, :conditions => {:topic_id => 4}, :order=>'id desc')
78
+ topic_4_id_desc = Reply.find(:all, :conditions => {:topic_id => 4}, :order=>'id desc')
79
+ Reply.topic__id_desc(4).all.should == topic_4_id_desc
80
+ Reply.topic__id_desc1(4).all.should == topic_4_id_desc
81
+ Reply.topic__id_desc2(4).all.should == topic_4_id_desc
82
+ Reply.topic__id_desc3(4).all.should == topic_4_id_desc
79
83
  end
80
84
 
81
85
  it "should chain order scopes" do
@@ -24,6 +24,9 @@ class Reply < ActiveRecord::Base
24
24
  named_scope :recent_topic_id, lambda{|topic_id| recent.where(:topic_id => topic_id)}
25
25
  named_scope :topic__id_asc, lambda{|topic_id| id_asc.where(:topic_id => topic_id)}
26
26
  named_scope :topic__id_desc, lambda{|topic_id| id_desc.where(:topic_id => topic_id)}
27
+ named_scope :topic__id_desc1, lambda{|topic_id| where(:topic_id => topic_id).id_desc}
28
+ named_scope :topic__id_desc2, lambda{|topic_id| order('id desc').where(:topic_id => topic_id)}
29
+ named_scope :topic__id_desc3, lambda{|topic_id| where(:topic_id => topic_id).order('id desc')}
27
30
  named_scope :topic_id_asc, order('topic_id asc')
28
31
  named_scope :topic_id_asc_id_desc, order('topic_id asc').id_desc
29
32
  named_scope :lam_topic_id_asc_id_desc, lambda{ topic_id_asc.id_desc }
data/spec/test.db CHANGED
Binary file
metadata CHANGED
@@ -1,12 +1,12 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fake_arel
3
3
  version: !ruby/object:Gem::Version
4
- hash: 7
4
+ hash: 5
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
- - 6
9
- version: "0.6"
8
+ - 7
9
+ version: "0.7"
10
10
  platform: ruby
11
11
  authors:
12
12
  - Grant Ammons
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2010-08-23 00:00:00 -04:00
17
+ date: 2010-09-13 00:00:00 -04:00
18
18
  default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency