diff options
author | José Valim <jose.valim@gmail.com> | 2010-01-23 22:53:26 +0100 |
---|---|---|
committer | José Valim <jose.valim@gmail.com> | 2010-01-23 22:53:26 +0100 |
commit | f915f9e33903ee474920e24ad12a1625f2ef1c52 (patch) | |
tree | 5b6d41e8a809aeaadbc2c0be59603f5f58b16231 /activerecord/lib/active_record/attribute_methods/query.rb | |
parent | b17e358e3df34c03019e357f693611618092e1d6 (diff) | |
parent | 8ff2fb6f3aa6140f5a8bd018d5919a8a1e707cda (diff) | |
download | rails-f915f9e33903ee474920e24ad12a1625f2ef1c52.tar.gz rails-f915f9e33903ee474920e24ad12a1625f2ef1c52.tar.bz2 rails-f915f9e33903ee474920e24ad12a1625f2ef1c52.zip |
Merge branch 'master' into app
Conflicts:
railties/lib/rails/application.rb
Diffstat (limited to 'activerecord/lib/active_record/attribute_methods/query.rb')
-rw-r--r-- | activerecord/lib/active_record/attribute_methods/query.rb | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/activerecord/lib/active_record/attribute_methods/query.rb b/activerecord/lib/active_record/attribute_methods/query.rb index 0154ee35f8..a949d80120 100644 --- a/activerecord/lib/active_record/attribute_methods/query.rb +++ b/activerecord/lib/active_record/attribute_methods/query.rb @@ -8,7 +8,23 @@ module ActiveRecord end def query_attribute(attr_name) - _attributes.has?(attr_name) + unless value = read_attribute(attr_name) + false + else + column = self.class.columns_hash[attr_name] + if column.nil? + if Numeric === value || value !~ /[^0-9]/ + !value.to_i.zero? + else + return false if ActiveRecord::ConnectionAdapters::Column::FALSE_VALUES.include?(value) + !value.blank? + end + elsif column.number? + !value.zero? + else + !value.blank? + end + end end private @@ -19,5 +35,3 @@ module ActiveRecord end end end - - |