Permalink
Browse files

From and lock should be defined to be consistent with other ivars. Li…

…mit and offset are always defined, no need to test that.

[#4253 state:committed]

Signed-off-by: Jeremy Kemper <jeremy@bitsweat.net>
  • Loading branch information...
1 parent 4f5de7f commit d289e15af9b2749ba0ab9534b5469287be6ece05 @miloops miloops committed with jeremy Mar 22, 2010
@@ -15,13 +15,10 @@ class Relation
def initialize(klass, table)
@klass, @table = klass, table
- @readonly_value = nil
- @create_with_value = nil
@implicit_readonly = nil
- @limit_value = nil
- @offset_value = nil
@loaded = nil
+ SINGLE_VALUE_METHODS.each {|v| instance_variable_set(:"@#{v}_value", nil)}
(ASSOCIATION_METHODS + MULTI_VALUE_METHODS).each {|v| instance_variable_set(:"@#{v}_values", [])}
end
@@ -62,7 +59,7 @@ def to_a
preload = @preload_values
preload += @includes_values unless eager_loading?
- preload.each {|associations| @klass.send(:preload_associations, @records, associations) }
+ preload.each {|associations| @klass.send(:preload_associations, @records, associations) }
# @readonly_value is true only if set explicity. @implicit_readonly is true if there are JOINS and no explicit SELECT.
readonly = @readonly_value.nil? ? @implicit_readonly : @readonly_value
@@ -134,13 +134,8 @@ def build_arel
arel = h.is_a?(String) ? arel.having(h) : arel.having(*h)
end
- if defined?(@limit_value) && @limit_value.present?
- arel = arel.take(@limit_value)
- end
-
- if defined?(@offset_value) && @offset_value.present?
- arel = arel.skip(@offset_value)
- end
+ arel = arel.take(@limit_value) if @limit_value.present?
+ arel = arel.skip(@offset_value) if @offset_value.present?
@group_values.uniq.each do |g|
arel = arel.group(g) if g.present?
@@ -163,19 +158,14 @@ def build_arel
arel = arel.project(quoted_table_name + '.*')
end
- arel =
- if defined?(@from_value) && @from_value.present?
- arel.from(@from_value)
- else
- arel.from(quoted_table_name)
- end
+ arel = @from_value.present? ? arel.from(@from_value) : arel.from(quoted_table_name)
case @lock_value
when TrueClass
arel = arel.lock
when String
arel = arel.lock(@lock_value)
- end if defined?(@lock_value)
+ end if @lock_value.present?
arel
end

0 comments on commit d289e15

Please sign in to comment.