module Mameconf::ClassMethods
Attributes
mameconf_attr_names[RW]
Public Instance Methods
mameconf(name, options={})
click to toggle source
# File lib/mameconf.rb, line 30 def mameconf(name, options={}) mameconf_attr_names << name default_value = options[:default] class_eval <<-RUBY, __FILE__, __LINE__ + 1 def #{name} if !instance_variables.include?(:@#{name}) @#{name} ||= #{default_value.inspect} end @#{name} end def #{name}=(val) @#{name} = val end def to_hash ret = {} self.class.mameconf_attr_names.each do |attr| attr_sym = attr.to_sym ret[attr_sym] = self.__send__(attr_sym) end ret end RUBY end