Class: Twilio::AssociationProxy

Inherits:
Object
  • Object
show all
Defined in:
lib/twilio/association_proxy.rb

Instance Method Summary collapse

Constructor Details

#initialize(delegator, target) ⇒ AssociationProxy

Returns a new instance of AssociationProxy.



6
7
8
9
# File 'lib/twilio/association_proxy.rb', line 6

def initialize(delegator, target)
  @delegator, @target = delegator, target
  @delegator_name = @delegator.class.name.demodulize.downcase
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(meth, *args, &blk) ⇒ Object



15
16
17
18
19
20
21
22
# File 'lib/twilio/association_proxy.rb', line 15

def method_missing(meth, *args, &blk)
  options = args.empty? ? args.<<({})[-1] : args[-1]
  options.update :"#{@delegator_name}_sid" => @delegator.sid
  if @delegator[:connect_app_sid]
    options.update :connect => true, :account_sid => (@delegator[:account_sid] || @delegator[:sid])
  end
  @target.__send__ meth, *args, &blk
end

Instance Method Details

#inspectObject



11
12
13
# File 'lib/twilio/association_proxy.rb', line 11

def inspect
  @target.all :"#{@delegator_name}_sid" => @delegator.sid
end