Class: Greenenvy::OpenStructLike::MethodMissingHandler

Inherits:
Object
  • Object
show all
Defined in:
lib/greenenvy/open_struct_like.rb

Instance Method Summary collapse

Constructor Details

#initialize(hash) ⇒ MethodMissingHandler

Returns a new instance of MethodMissingHandler.



17
18
19
# File 'lib/greenenvy/open_struct_like.rb', line 17

def initialize(hash)
  @hash = hash
end

Instance Method Details

#call(name) ⇒ Object



21
22
23
24
25
26
27
28
29
30
31
# File 'lib/greenenvy/open_struct_like.rb', line 21

def call(name)
  name, predicate = process_predicate(name.to_s)

  name = name.to_sym

  if @hash.key?(name)
    result_with_predicate(name, predicate)
  else
    raise Exceptions::MissingKey, missing_key_message(name)
  end
end