Module: Seabright::Types

Included in:
RedisObject
Defined in:
lib/redis_object/types.rb,
lib/redis_object/types/date.rb,
lib/redis_object/types/json.rb,
lib/redis_object/types/array.rb,
lib/redis_object/types/float.rb,
lib/redis_object/types/number.rb,
lib/redis_object/types/boolean.rb

Defined Under Namespace

Modules: ArrayType, BooleanType, ClassMethods, DateType, FloatType, JsonType, NumberType

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.alias_type(als, sym) ⇒ Object



4
5
6
# File 'lib/redis_object/types.rb', line 4

def self.alias_type(als,sym)
	type_aliases[als.to_s.downcase.to_sym] = sym.to_s.downcase.to_sym
end

.included(base) ⇒ Object



170
171
172
# File 'lib/redis_object/types.rb', line 170

def self.included(base)
	base.extend(ClassMethods)
end

.known_typesObject



16
17
18
# File 'lib/redis_object/types.rb', line 16

def self.known_types
	@known_types ||= []
end

.register_type(sym) ⇒ Object



12
13
14
# File 'lib/redis_object/types.rb', line 12

def self.register_type(sym)
	known_types << sym.to_s.downcase.to_sym
end

.type_aliasesObject



8
9
10
# File 'lib/redis_object/types.rb', line 8

def self.type_aliases
	@type_aliases ||= {}
end

Instance Method Details

#enforce_format(k, v) ⇒ Object



27
28
29
30
31
32
# File 'lib/redis_object/types.rb', line 27

def enforce_format(k,v)
	if sym = type_filter_for(:format,k)
		return send(sym,v)
	end
	v
end

#save_format(k, v) ⇒ Object



41
42
43
44
45
46
# File 'lib/redis_object/types.rb', line 41

def save_format(k,v)
	if sym = type_filter_for(:save,k)
		return send(sym,v)
	end
	v
end

#score_format(k, v) ⇒ Object



34
35
36
37
38
39
# File 'lib/redis_object/types.rb', line 34

def score_format(k,v)
	if sym = type_filter_for(:score,k)
		return send(sym,v)
	end
	0
end

#type_filter_for(prefix, k) ⇒ Object



20
21
22
23
24
25
# File 'lib/redis_object/types.rb', line 20

def type_filter_for(prefix,k)
	if k and (fmt = self.class.field_formats[k.to_sym]) and (sym = "#{prefix}_#{fmt}".to_sym) and respond_to?(sym)
		return sym
	end
	nil
end