module ActiveRecord::AttributeMethods::Query
Active Record Attribute Methods Query¶ ↑
Public Instance Methods
Source
# File lib/active_record/attribute_methods/query.rb, line 13 def query_attribute(attr_name) value = self.public_send(attr_name) query_cast_attribute(attr_name, value) end
Also aliased as: attribute?
Private Instance Methods
Source
# File lib/active_record/attribute_methods/query.rb, line 29 def query_cast_attribute(attr_name, value) case value when true then true when false, nil then false else if !type_for_attribute(attr_name) { false } if Numeric === value || !value.match?(/[^0-9]/) !value.to_i.zero? else return false if ActiveModel::Type::Boolean::FALSE_VALUES.include?(value) !value.blank? end elsif value.respond_to?(:zero?) !value.zero? else !value.blank? end end end