class Centaman::Object
Public Class Methods
new(args = {})
click to toggle source
# File lib/centaman/object.rb, line 4 def initialize(args = {}) define_variables(args) after_init(args) end
Public Instance Methods
after_init(args)
click to toggle source
# File lib/centaman/object.rb, line 23 def after_init(args) # hook for subclasses end
attributes()
click to toggle source
# File lib/centaman/object.rb, line 19 def attributes [] # overwritten by subclasses end
define_variables(args)
click to toggle source
# File lib/centaman/object.rb, line 9 def define_variables(args) attributes.each do |attribute| val = args[attribute.centaman_key] attribute.value = val attribute.parse_value self.class.__send__(:attr_accessor, attribute.app_key) instance_variable_set("@#{attribute.app_key}", attribute.value) end end