module Hive::Serializable::ClassMethods

Public Instance Methods

add_type(name, type) click to toggle source
# File lib/hive/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/hive/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/hive/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/hive/mixins/serializable.rb, line 36
def serializable_types
  @serializable_types
end