module Sequel::Plugins::DefaultsSetter::ClassMethods
Attributes
default_values[R]
The default values to set in initialize for this model. A hash with column
symbol keys and default values. If the default values respond to
call
, it will be called to get the value, otherwise the value
will be used directly. You can manually modify this hash to set specific
default values, by default the ones will be parsed from the database.
Public Instance Methods
freeze()
click to toggle source
Freeze default values when freezing model class
Calls superclass method
# File lib/sequel/plugins/defaults_setter.rb, line 40 def freeze @default_values.freeze super end
Private Instance Methods
convert_default_value(v)
click to toggle source
Handle the CURRENT_DATE and CURRENT_TIMESTAMP values specially by returning an appropriate Date or Time/DateTime value.
# File lib/sequel/plugins/defaults_setter.rb, line 56 def convert_default_value(v) case v when Sequel::CURRENT_DATE lambda{Date.today} when Sequel::CURRENT_TIMESTAMP lambda{dataset.current_datetime} else v end end
set_default_values()
click to toggle source
Parse the cached database schema for this model and set the default values appropriately.
# File lib/sequel/plugins/defaults_setter.rb, line 48 def set_default_values h = {} @db_schema.each{|k, v| h[k] = convert_default_value(v[:ruby_default]) unless v[:ruby_default].nil?} if @db_schema @default_values = h end