module Crea::Serializable::ClassMethods
Public Instance Methods
add_type(name, type)
click to toggle source
# File lib/crea/mixins/serializable.rb, line 23 def add_type name, type name = name.to_sym type = type.to_sym raise "Unknown type: #{type}" unless KNOWN_TYPES.include? type @serializable_types ||= {} @serializable_types[name] = type end
def_attr(key_pair)
click to toggle source
# File lib/crea/mixins/serializable.rb, line 12 def def_attr key_pair name = key_pair.keys.first.to_sym type = key_pair.values.first.to_sym self.attributes ||= [] self.attributes << name attr_accessor *attributes add_type name, type end
numeric?(name)
click to toggle source
# File lib/crea/mixins/serializable.rb, line 32 def numeric?(name) NUMERIC_TYPES.include? @serializable_types[name.to_sym] end
serializable_types()
click to toggle source
# File lib/crea/mixins/serializable.rb, line 36 def serializable_types @serializable_types end