squeel 0.7.1 → 0.7.2

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.
@@ -1,3 +1,3 @@
1
1
  module Squeel
2
- VERSION = "0.7.1"
2
+ VERSION = "0.7.2"
3
3
  end
@@ -253,7 +253,13 @@ module Squeel
253
253
  when Nodes::KeyPath
254
254
  accept(k % quote_for_node(k.endpoint, v), parent)
255
255
  else
256
- attribute = contextualize(parent)[k.to_sym]
256
+ attr_name = k.to_s
257
+ attribute = if attr_name.include?('.')
258
+ table_name, attr_name = attr_name.split(/\./, 2)
259
+ Arel::Table.new(table_name.to_sym, :engine => engine)[attr_name.to_sym]
260
+ else
261
+ contextualize(parent)[k.to_sym]
262
+ end
257
263
  arel_predicate_for(attribute, v, parent)
258
264
  end
259
265
  end
@@ -176,6 +176,12 @@ module Squeel
176
176
  predicate.to_sql.should match /"people"."name" = "children_people"."name"/
177
177
  end
178
178
 
179
+ it 'honors an explicit table in string keys' do
180
+ predicate = @v.accept('things.attribute' => 'retro')
181
+ predicate.should be_a Arel::Nodes::Equality
182
+ predicate.to_sql.should match /"things"."attribute" = 'retro'/
183
+ end
184
+
179
185
  it 'visits ActiveRecord::Relation values in predicates' do
180
186
  predicate = @v.accept(dsl{id >> Person.select{id}.limit(3).order{id.desc}})
181
187
  predicate.should be_a Arel::Nodes::In
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: squeel
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.7.1
5
+ version: 0.7.2
6
6
  platform: ruby
7
7
  authors:
8
8
  - Ernie Miller
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2011-05-16 00:00:00 Z
13
+ date: 2011-05-19 00:00:00 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: activerecord