Sha256: b260a7c25a1cb2d0a7a8cba83f7db4c7c9393092f5799a10a895e540817acd0c
Contents?: true
Size: 961 Bytes
Versions: 55
Compression:
Stored size: 961 Bytes
Contents
module ActiveRecord module AttributeMethods module Query extend ActiveSupport::Concern included do attribute_method_suffix "?" end def query_attribute(attr_name) value = self[attr_name] case value when true then true when false, nil then 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 ActiveModel::Type::Boolean::FALSE_VALUES.include?(value) !value.blank? end elsif value.respond_to?(:zero?) !value.zero? else !value.blank? end end end private # Handle *? for method_missing. def attribute?(attribute_name) query_attribute(attribute_name) end end end end
Version data entries
55 entries across 55 versions & 4 rubygems