Module: Seabright::DefaultValues::ClassMethods
- Defined in:
- lib/redis_object/defaults.rb
Instance Method Summary collapse
- #default_for(k, vl) ⇒ Object
- #default_vals ⇒ Object
- #intercept_for_defaults! ⇒ Object
- #register_default(k, vl) ⇒ Object
Instance Method Details
#default_for(k, vl) ⇒ Object
31 32 33 |
# File 'lib/redis_object/defaults.rb', line 31 def default_for(k,vl) register_default k, vl end |
#default_vals ⇒ Object
6 7 8 |
# File 'lib/redis_object/defaults.rb', line 6 def default_vals @default_vals ||= {} end |
#intercept_for_defaults! ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/redis_object/defaults.rb', line 10 def intercept_for_defaults! return if @intercepted_for_defaults self.class_eval do filter_gets do |obj, k, v| if !obj.is_set?(k) && (d = obj.class.default_vals[k.to_sym]) && !d.nil? d else v end end end @intercepted_for_defaults = true end |
#register_default(k, vl) ⇒ Object
26 27 28 29 |
# File 'lib/redis_object/defaults.rb', line 26 def register_default(k,vl) default_vals[k.to_sym] = vl intercept_for_defaults! end |