Class: HashMangler::SimpleStruct

Inherits:
Object
  • Object
show all
Defined in:
lib/hash_mangler/simple_struct.rb

Overview

Simple object defining singleton methods for each (key, value) pair

passed into []=(key, val) method.

Instance Method Summary collapse

Constructor Details

#initializeSimpleStruct

Returns a new instance of SimpleStruct.



7
8
9
# File 'lib/hash_mangler/simple_struct.rb', line 7

def initialize
  @hash = {}
end

Instance Method Details

#[](key) ⇒ Object

retrieves value for provided key

Parameters:

  • key (String/Symbol)


26
27
28
# File 'lib/hash_mangler/simple_struct.rb', line 26

def [](key)
  @hash[key]
end

#[]=(key, val) ⇒ Object

sets value for provided key and generates a singleton method

Parameters:

  • key (String/Symbol)

    a passed value (val) will be available

  • val (Object)


17
18
19
20
# File 'lib/hash_mangler/simple_struct.rb', line 17

def []=(key, val)
  @hash[key] = val
  define_singleton_method(key) { @hash[key] }
end