class ReactiveRecord::Base::DummyValue
DummyValue
uses the ActiveRecord
type info to act like an appropriate loaded value.
Public Class Methods
dummy_date()
click to toggle source
# File lib/reactive_record/active_record/reactive_record/dummy_value.rb, line 188 def self.dummy_date @dummy_date ||= Date.parse('1/1/2001') end
dummy_time()
click to toggle source
# File lib/reactive_record/active_record/reactive_record/dummy_value.rb, line 184 def self.dummy_time @dummy_time ||= Time.parse('2001-01-01T00:00:00.000-00:00') end
new(column_hash = nil)
click to toggle source
# File lib/reactive_record/active_record/reactive_record/dummy_value.rb, line 25 def initialize(column_hash = nil) column_hash ||= {} notify @column_hash = column_hash column_type = ( @column_hash[:sql_type_metadata] && @column_hash[:sql_type_metadata][:type] ) || 'nil' default_value_method = "build_default_value_for_#{column_type}" @object = __send__ default_value_method rescue Exception end
Public Instance Methods
!()
click to toggle source
# File lib/reactive_record/active_record/reactive_record/dummy_value.rb, line 105 def ! true end
==(other)
click to toggle source
# File lib/reactive_record/active_record/reactive_record/dummy_value.rb, line 132 def ==(other) # notify # why are we not notifying here other.object_id == object_id end
acts_as_string?()
click to toggle source
# File lib/reactive_record/active_record/reactive_record/dummy_value.rb, line 204 def acts_as_string? return true if @object.is_a? String return @object.acts_as_string? if @object true end
build_default_value_for_boolean()
click to toggle source
# File lib/reactive_record/active_record/reactive_record/dummy_value.rb, line 61 def build_default_value_for_boolean @column_hash[:default] || false end
build_default_value_for_date()
click to toggle source
# File lib/reactive_record/active_record/reactive_record/dummy_value.rb, line 53 def build_default_value_for_date if @column_hash[:default] Date.parse(@column_hash[:default]) else ::ReactiveRecord::Base::DummyValue.dummy_date end end
build_default_value_for_datetime()
click to toggle source
# File lib/reactive_record/active_record/reactive_record/dummy_value.rb, line 42 def build_default_value_for_datetime if @column_hash[:default] Time.parse(@column_hash[:default].gsub(' ','T')+'+00:00') else ::ReactiveRecord::Base::DummyValue.dummy_time end end
Also aliased as: build_default_value_for_time, build_default_value_for_timestamp
build_default_value_for_float()
click to toggle source
# File lib/reactive_record/active_record/reactive_record/dummy_value.rb, line 65 def build_default_value_for_float @column_hash[:default] || Float(0.0) end
Also aliased as: build_default_value_for_decimal
build_default_value_for_integer()
click to toggle source
# File lib/reactive_record/active_record/reactive_record/dummy_value.rb, line 71 def build_default_value_for_integer @column_hash[:default] || Integer(0) end
Also aliased as: build_default_value_for_bigint
build_default_value_for_nil()
click to toggle source
# File lib/reactive_record/active_record/reactive_record/dummy_value.rb, line 38 def build_default_value_for_nil @column_hash[:default] || nil end
build_default_value_for_string()
click to toggle source
# File lib/reactive_record/active_record/reactive_record/dummy_value.rb, line 77 def build_default_value_for_string @column_hash[:default] || '' end
Also aliased as: build_default_value_for_text
coerce(s)
click to toggle source
# File lib/reactive_record/active_record/reactive_record/dummy_value.rb, line 126 def coerce(s) # notify # why are we not notifying here return @object.coerce(s) if @object [__send__("to_#{s.class.name.downcase}"), s] end
is_a?(klass)
click to toggle source
# File lib/reactive_record/active_record/reactive_record/dummy_value.rb, line 141 def is_a?(klass) klass == ::ReactiveRecord::Base::DummyValue end
loaded?()
click to toggle source
# File lib/reactive_record/active_record/reactive_record/dummy_value.rb, line 93 def loaded? false end
loading?()
click to toggle source
# File lib/reactive_record/active_record/reactive_record/dummy_value.rb, line 89 def loading? true end
method_missing(method, *args, &block)
click to toggle source
Calls superclass method
# File lib/reactive_record/active_record/reactive_record/dummy_value.rb, line 109 def method_missing(method, *args, &block) if method =~ /^build_default_value_for_/ nil elsif @object || @object.respond_to?(method) notify @object.send method, *args, &block elsif 0.respond_to? method notify 0.send(method, *args, &block) elsif ''.respond_to? method notify ''.send(method, *args, &block) else super end end
nil?()
click to toggle source
# File lib/reactive_record/active_record/reactive_record/dummy_value.rb, line 101 def nil? true end
notify()
click to toggle source
# File lib/reactive_record/active_record/reactive_record/dummy_value.rb, line 83 def notify return if ReactiveRecord::Base.data_loading? ReactiveRecord.loads_pending! ReactiveRecord::WhileLoading.loading! end
object_id()
click to toggle source
# File lib/reactive_record/active_record/reactive_record/dummy_value.rb, line 137 def object_id `self.$$id` end
present?()
click to toggle source
# File lib/reactive_record/active_record/reactive_record/dummy_value.rb, line 97 def present? false end
to_date()
click to toggle source
# File lib/reactive_record/active_record/reactive_record/dummy_value.rb, line 192 def to_date notify return @object.to_date if @object ReactiveRecord::Base::DummyValue.dummy_date end
to_f()
click to toggle source
# File lib/reactive_record/active_record/reactive_record/dummy_value.rb, line 160 def to_f notify return @object.to_f if @object 0.0 end
to_i()
click to toggle source
# File lib/reactive_record/active_record/reactive_record/dummy_value.rb, line 166 def to_i notify return @object.to_i if @object 0 end
to_number()
click to toggle source
# File lib/reactive_record/active_record/reactive_record/dummy_value.rb, line 178 def to_number notify return @object.to_number if @object 0 end
to_numeric()
click to toggle source
# File lib/reactive_record/active_record/reactive_record/dummy_value.rb, line 172 def to_numeric notify return @object.to_numeric if @object 0 end
to_s()
click to toggle source
# File lib/reactive_record/active_record/reactive_record/dummy_value.rb, line 150 def to_s notify return @object.to_s if @object '' end
Also aliased as: inspect
to_time()
click to toggle source
# File lib/reactive_record/active_record/reactive_record/dummy_value.rb, line 198 def to_time notify return @object.to_time if @object ReactiveRecord::Base::DummyValue.dummy_time end
try(*args) { |self| ... }
click to toggle source
# File lib/reactive_record/active_record/reactive_record/dummy_value.rb, line 210 def try(*args, &b) if args.empty? && block_given? yield self else __send__(*args, &b) end rescue nil end
zero?()
click to toggle source
# File lib/reactive_record/active_record/reactive_record/dummy_value.rb, line 145 def zero? return @object.zero? if @object false end