class ConfigMapper::ConfigStruct::Attribute
Attributes
default[RW]
description[RW]
factory[RW]
name[R]
required[RW]
validator[RW]
Public Class Methods
new(name)
click to toggle source
# File lib/config_mapper/config_struct.rb, line 225 def initialize(name) @name = name.to_sym end
Public Instance Methods
config_doc()
click to toggle source
# File lib/config_mapper/config_struct.rb, line 246 def config_doc self_doc.merge(type_doc) end
factory=(arg)
click to toggle source
# File lib/config_mapper/config_struct.rb, line 242 def factory=(arg) @factory = Factory.resolve(arg) end
initial_value()
click to toggle source
# File lib/config_mapper/config_struct.rb, line 237 def initial_value return factory.new if factory default end
Private Instance Methods
self_doc()
click to toggle source
# File lib/config_mapper/config_struct.rb, line 252 def self_doc { ".#{name}" => {}.tap do |doc| doc["description"] = description if description doc["default"] = default if default doc["type"] = String(validator.name) if validator.respond_to?(:name) end } end
type_doc()
click to toggle source
# File lib/config_mapper/config_struct.rb, line 262 def type_doc return {} unless factory.respond_to?(:config_doc) factory.config_doc.each_with_object({}) do |(path, doc), result| result[".#{name}#{path}"] = doc end end