Class: ActiveRecord::Relation::QueryAttribute
Overview
Instance Attribute Summary
#name, #type, #value_before_type_cast
Instance Method Summary
collapse
#==, #came_from_user?, #changed?, #changed_in_place?, #encode_with, #forgetting_assignment, from_database, from_user, #has_been_read?, #hash, #init_with, #initialize, #initialized?, null, #original_value, uninitialized, #value, with_cast_value, #with_type, #with_value_from_database, #with_value_from_user
Instance Method Details
#infinite? ⇒ Boolean
28
29
30
31
|
# File 'activerecord/lib/active_record/relation/query_attribute.rb', line 28
def infinite?
infinity?(value_before_type_cast) || infinity?(value_for_database)
rescue ::RangeError
end
|
#nil? ⇒ Boolean
20
21
22
23
24
25
26
|
# File 'activerecord/lib/active_record/relation/query_attribute.rb', line 20
def nil?
unless value_before_type_cast.is_a?(StatementCache::Substitute)
value_before_type_cast.nil? ||
type.respond_to?(:subtype, true) && value_for_database.nil?
end
rescue ::RangeError
end
|
#type_cast(value) ⇒ Object
8
9
10
|
# File 'activerecord/lib/active_record/relation/query_attribute.rb', line 8
def type_cast(value)
value
end
|
#unboundable? ⇒ Boolean
33
34
35
36
37
38
39
40
41
42
|
# File 'activerecord/lib/active_record/relation/query_attribute.rb', line 33
def unboundable?
if defined?(@_unboundable)
@_unboundable
else
value_for_database unless value_before_type_cast.is_a?(StatementCache::Substitute)
@_unboundable = nil
end
rescue ::RangeError
@_unboundable = type.cast(value_before_type_cast) <=> 0
end
|
#value_for_database ⇒ Object
12
13
14
|
# File 'activerecord/lib/active_record/relation/query_attribute.rb', line 12
def value_for_database
@value_for_database ||= super
end
|
#with_cast_value(value) ⇒ Object
16
17
18
|
# File 'activerecord/lib/active_record/relation/query_attribute.rb', line 16
def with_cast_value(value)
QueryAttribute.new(name, value, type)
end
|