Method: Awspec::Type::Base#method_missing

Defined in:
lib/awspec/type/base.rb

#method_missing(name) ⇒ Object



41
42
43
44
45
46
47
48
49
50
51
52
53
# File 'lib/awspec/type/base.rb', line 41

def method_missing(name)
  name_str = name.to_s if name.class == Symbol
  describe = name_str.tr('-', '_').to_sym

  if !resource_via_client.nil? && resource_via_client.members.include?(describe)
    resource_via_client[describe]
  elsif resource_via_client.nil?
    raise Awspec::NoExistingResource.new(self.class, @display_name)
  else
    super unless self.respond_to?(:resource)
    method_missing_via_black_list(name, delegate_to: resource)
  end
end