Class: Twilio::REST::Events::V1::SubscriptionContext

Inherits:
InstanceContext show all
Defined in:
lib/twilio-ruby/rest/events/v1/subscription.rb,
lib/twilio-ruby/rest/events/v1/subscription/subscribed_event.rb

Overview

PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.

Defined Under Namespace

Classes: SubscribedEventContext, SubscribedEventInstance, SubscribedEventList, SubscribedEventPage

Instance Method Summary collapse

Constructor Details

#initialize(version, sid) ⇒ SubscriptionContext

Initialize the SubscriptionContext

Parameters:

  • version (Version)

    Version that contains the resource

  • sid (String)

    A 34 character string that uniquely identifies this Subscription.


184
185
186
187
188
189
190
191
192
193
# File 'lib/twilio-ruby/rest/events/v1/subscription.rb', line 184

def initialize(version, sid)
  super(version)

  # Path Solution
  @solution = {sid: sid, }
  @uri = "/Subscriptions/#{@solution[:sid]}"

  # Dependents
  @subscribed_events = nil
end

Instance Method Details

#deleteBoolean

Delete the SubscriptionInstance

Returns:

  • (Boolean)

    true if delete succeeds, false otherwise


222
223
224
# File 'lib/twilio-ruby/rest/events/v1/subscription.rb', line 222

def delete
   @version.delete('DELETE', @uri)
end

#fetchSubscriptionInstance

Fetch the SubscriptionInstance

Returns:


198
199
200
201
202
# File 'lib/twilio-ruby/rest/events/v1/subscription.rb', line 198

def fetch
  payload = @version.fetch('GET', @uri)

  SubscriptionInstance.new(@version, payload, sid: @solution[:sid], )
end

#inspectObject

Provide a detailed, user friendly representation


253
254
255
256
# File 'lib/twilio-ruby/rest/events/v1/subscription.rb', line 253

def inspect
  context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
  "#<Twilio.Events.V1.SubscriptionContext #{context}>"
end

#subscribed_events(type = :unset) ⇒ SubscribedEventList, SubscribedEventContext

Access the subscribed_events

Returns:

Raises:

  • (ArgumentError)

230
231
232
233
234
235
236
237
238
239
240
241
242
# File 'lib/twilio-ruby/rest/events/v1/subscription.rb', line 230

def subscribed_events(type=:unset)
  raise ArgumentError, 'type cannot be nil' if type.nil?

  if type != :unset
    return SubscribedEventContext.new(@version, @solution[:sid], type, )
  end

  unless @subscribed_events
    @subscribed_events = SubscribedEventList.new(@version, subscription_sid: @solution[:sid], )
  end

  @subscribed_events
end

#to_sObject

Provide a user friendly representation


246
247
248
249
# File 'lib/twilio-ruby/rest/events/v1/subscription.rb', line 246

def to_s
  context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
  "#<Twilio.Events.V1.SubscriptionContext #{context}>"
end

#update(description: :unset, sink_sid: :unset) ⇒ SubscriptionInstance

Update the SubscriptionInstance

Parameters:

  • description (String) (defaults to: :unset)

    A human readable description for the Subscription.

  • sink_sid (String) (defaults to: :unset)

    The SID of the sink that events selected by this subscription should be sent to. Sink must be active for the subscription to be created.

Returns:


211
212
213
214
215
216
217
# File 'lib/twilio-ruby/rest/events/v1/subscription.rb', line 211

def update(description: :unset, sink_sid: :unset)
  data = Twilio::Values.of({'Description' => description, 'SinkSid' => sink_sid, })

  payload = @version.update('POST', @uri, data: data)

  SubscriptionInstance.new(@version, payload, sid: @solution[:sid], )
end