module ActiveAttr::QueryAttributes
QueryAttributes
provides instance methods for querying attributes.
@example Usage
class Person include ActiveAttr::QueryAttributes attribute :name end person = Person.new person.name? #=> false person.name = "Chris Griego" person.name? #=> true
@since 0.3.0
Public Instance Methods
query_attribute(name)
click to toggle source
Test the presence of an attribute
See {Typecasting::BooleanTypecaster#call} for more details.
@example Query an attribute
person.query_attribute(:name)
@param [String, Symbol, to_s] name The name of the attribute to query
@return [true, false] The presence of the attribute
@raise [UnknownAttributeError] if the attribute is unknown
@since 0.3.0
# File lib/active_attr/query_attributes.rb, line 44 def query_attribute(name) if respond_to? "#{name}?" send "#{name}?" else raise UnknownAttributeError, "unknown attribute: #{name}" end end
Private Instance Methods
attribute?(name)
click to toggle source
# File lib/active_attr/query_attributes.rb, line 54 def attribute?(name) !!Typecasting::BooleanTypecaster.new.call(read_attribute(name)) end