Module: ActiveRecord::AttributeMethods::Query
- Extended by:
- ActiveSupport::Concern
- Defined in:
- activerecord/lib/active_record/attribute_methods/query.rb
Instance Method Summary collapse
- #query_attribute(attr_name) ⇒ Object (also: #attribute?)
Methods included from ActiveSupport::Concern
append_features, class_methods, extended, included, prepend_features, prepended
Instance Method Details
#query_attribute(attr_name) ⇒ Object Also known as: attribute?
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'activerecord/lib/active_record/attribute_methods/query.rb', line 12 def query_attribute(attr_name) value = self.public_send(attr_name) 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 |