Module: Seabright::DefaultValues::ClassMethods

Defined in:
lib/redis_object/defaults.rb

Instance Method Summary collapse

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_valsObject



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