class Corindon::DependencyInjection::ParameterBag
Attributes
bag[R]
@return [Hash{String => Object}]
Public Class Methods
new(bag = {})
click to toggle source
@param [Hash{String => Object}] bag
# File lib/corindon/dependency_injection/parameter_bag.rb, line 10 def initialize(bag = {}) @bag = bag end
Public Instance Methods
get(key)
click to toggle source
@param [Class, String, Token::ParameterToken] key @return [Object]
# File lib/corindon/dependency_injection/parameter_bag.rb, line 22 def get(key) @bag.fetch(to_key(key)) end
has?(key)
click to toggle source
@param [Class, String, Token::ParameterToken] key @return [Boolean]
# File lib/corindon/dependency_injection/parameter_bag.rb, line 16 def has?(key) @bag.key?(to_key(key)) end
set(key, value)
click to toggle source
@param [Class, String, Token::ParameterToken] key @param [Object] value
# File lib/corindon/dependency_injection/parameter_bag.rb, line 28 def set(key, value) @bag[to_key(key)] = value end
Private Instance Methods
to_key(keylike)
click to toggle source
# File lib/corindon/dependency_injection/parameter_bag.rb, line 34 def to_key(keylike) if keylike.is_a?(Class) keylike.name elsif keylike.is_a?(Token::ParameterToken) keylike.key elsif keylike.is_a?(String) keylike else raise StandardError.new("#{keylike} is not a valid key (objects of class #{keylike.class.name} are not handled.") end end