Class: Trumpet::Delegator::ResourceDelegator

Inherits:
Object
  • Object
show all
Defined in:
lib/trumpet/delegator.rb

Instance Method Summary collapse

Constructor Details

#initialize(delegate, credentials) ⇒ ResourceDelegator

Returns a new instance of ResourceDelegator.



13
14
15
16
# File 'lib/trumpet/delegator.rb', line 13

def initialize(delegate, credentials)
  @delegate = delegate
  @credentials = credentials
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(sym, args = nil) ⇒ Object



18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/trumpet/delegator.rb', line 18

def method_missing(sym, args=nil)
  if args.nil?
    new_args = Hash.new
    new_args[:credentials] = @credentials if @credentials
    @delegate.send sym, new_args
  elsif args.is_a? Hash
    new_args = {}
    new_args[:parameters] = args
    new_args[:credentials] = @credentials if @credentials
    @delegate.send sym, new_args
  else
    new_args = [args]
    new_args << {:credentials => @credentials} if @credentials            
    @delegate.send sym, *new_args
  end
end