Class | DataMapper::Query::Conditions::AbstractComparison |
In: |
lib/dm-core/query/conditions/comparison.rb
|
Parent: | Object |
A base class for the various comparison classes.
dumped_value | [R] | @api private |
loaded_value | [R] |
The loaded/typecast value
In the case of primitive types, this will be the same as value, however when using custom types this stores the loaded value. If writing an adapter, you should use value, while plugin authors should refer to loaded_value. @return [Object] @api semipublic |
parent | [RW] | @api semipublic |
subject | [R] |
The property or relationship which is being matched against
@return [Property, Associations::Relationship] @api semipublic |
Keeps track of AbstractComparison subclasses (used in Comparison)
@return [Set<AbstractComparison>] @api private
Creates a new AbstractComparison instance with subject and value
@param [Property, Associations::Relationship] subject
The subject of the comparison - the value of the subject will be matched against the given value parameter.
The value for the comparison.
@api semipublic
Setter/getter: allows subclasses to easily set their slug
The slug to be set for this class. Passing nil returns the current value instead.
@return [Symbol]
The current slug set for the Comparison.
@example Creating a MyComparison compairson with slug :exact.
class MyComparison < AbstractComparison slug :exact end
@api semipublic
Returns a string version of this Comparison object
@example
Comparison.new(:==, MyClass.my_property, "value") # => "my_property == value"
@return [String]
@api semipublic
Tests that the Comparison is valid
Subclasses can overload this to customise the means by which they determine the validity of the comparison. valid? is called prior to performing a query on the repository: each Comparison within a Query must be valid otherwise the query will not be performed.
@see DataMapper::Property#valid? @see DataMapper::Associations::Relationship#valid?
@return [Boolean]
@api semipublic