class ComfyConf::Data
Attributes
data[R]
definition[R]
prefix[R]
Public Class Methods
new(prefix, definition, data)
click to toggle source
# File lib/comfy_conf/data.rb, line 3 def initialize(prefix, definition, data) @prefix, @definition, @data = prefix, definition, data || Hash.new load end
Public Instance Methods
name()
click to toggle source
# File lib/comfy_conf/data.rb, line 9 def name definition.name end
Private Instance Methods
child_configs()
click to toggle source
# File lib/comfy_conf/data.rb, line 28 def child_configs @child_configs ||= definition.configs.map do |config| Data.new full_name, config, @data[config.name] end end
define_accessors()
click to toggle source
# File lib/comfy_conf/data.rb, line 34 def define_accessors definition.props.each do |prop| define_singleton_method(prop.name) { data[prop.name] or prop.default } end child_configs.each do |config| define_singleton_method(config.name) { config } end end
full_name()
click to toggle source
# File lib/comfy_conf/data.rb, line 20 def full_name if prefix "#{prefix}[#{definition.name}]" else definition.name end end
load()
click to toggle source
# File lib/comfy_conf/data.rb, line 15 def load definition.check_data(full_name, data) define_accessors end