class Kamaze::Project::Config
Generic config(urator) class
@abstract Subclass and override {#defaults} to implement
Attributes
attributes[R]
@return [Kamaze::Project::Struct]
Public Class Methods
new()
click to toggle source
# File lib/kamaze/project/config.rb, line 19 def initialize @attributes = Kamaze::Project::Struct.new(defaults) end
Public Instance Methods
configure(configurable)
click to toggle source
Configure an object (manipulating its properties)
@param [Object] configurable @return [Object]
# File lib/kamaze/project/config.rb, line 27 def configure(configurable) to_h.each do |k, v| configurable.__send__("#{k}=", v) end configurable end
defaults()
click to toggle source
@return [Hash]
# File lib/kamaze/project/config.rb, line 55 def defaults {} end
method_missing(method, *args, &block)
click to toggle source
Calls superclass method
# File lib/kamaze/project/config.rb, line 40 def method_missing(method, *args, &block) if respond_to_missing?(method) @attributes.public_send(method, *args, &block) else super end end
respond_to_missing?(method, include_private = false)
click to toggle source
Calls superclass method
# File lib/kamaze/project/config.rb, line 48 def respond_to_missing?(method, include_private = false) return true if attributes.respond_to?(method, include_private) super(method, include_private) end
to_h()
click to toggle source
@return [Hash]
# File lib/kamaze/project/config.rb, line 36 def to_h attributes.to_h end