class Arsenicum::Configuration::InstanceConfiguration

Attributes

inside[R]
init_parameters[R]
klass[R]
name[R]

Public Class Methods

new(name) click to toggle source
# File lib/arsenicum/configuration.rb, line 62
def initialize(name)
  @name = name
end

Private Class Methods

namespace(mod) click to toggle source
# File lib/arsenicum/configuration.rb, line 57
def namespace(mod)
  @inside = mod
end

Public Instance Methods

build() click to toggle source
# File lib/arsenicum/configuration.rb, line 86
def build
  klass.new(name, init_parameters)
end
init_params(&block) click to toggle source
# File lib/arsenicum/configuration.rb, line 76
def init_params(&block)
  params = ConfigurationHash.new
  if block
    params.under_configuration do
      params.instance_eval(&block)
    end
  end
  @init_parameters = params
end
inside() click to toggle source
# File lib/arsenicum/configuration.rb, line 66
def inside
  self.class.inside
end
type(type_name) click to toggle source
# File lib/arsenicum/configuration.rb, line 70
def type(type_name)
  @klass = constantize(classify(type_name))
rescue NameError
  @klass = constantize(classify(type_name), inside: inside)
end