Method: Awspec::Type::Base#method_missing

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

#method_missing(name) ⇒ Object



48
49
50
51
52
53
54
55
56
57
58
59
60
# File 'lib/awspec/type/base.rb', line 48

def method_missing(name)
  name_str = name.to_s if name.instance_of?(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 respond_to?(:resource)
    method_missing_via_black_list(name, delegate_to: resource)
  end
end