Class: Twilio::REST::Conversations::V1::ServiceContext::ConfigurationContext::NotificationInstance

Inherits:
InstanceResource
  • Object
show all
Defined in:
lib/twilio-ruby/rest/conversations/v1/service/configuration/notification.rb

Instance Method Summary collapse

Constructor Details

#initialize(version, payload, chat_service_sid: nil) ⇒ NotificationInstance

Initialize the NotificationInstance

Parameters:

  • version (Version)

    Version that contains the resource

  • payload (Hash)

    payload that contains response from Twilio

  • account_sid (String)

    The SID of the Account that created this Notification resource.

  • sid (String)

    The SID of the Call resource to fetch.



183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
# File 'lib/twilio-ruby/rest/conversations/v1/service/configuration/notification.rb', line 183

def initialize(version, payload , chat_service_sid: nil)
    super(version)
    
    # Marshaled Properties
    @properties = { 
        'account_sid' => payload['account_sid'],
        'chat_service_sid' => payload['chat_service_sid'],
        'new_message' => payload['new_message'],
        'added_to_conversation' => payload['added_to_conversation'],
        'removed_from_conversation' => payload['removed_from_conversation'],
        'log_enabled' => payload['log_enabled'],
        'url' => payload['url'],
    }

    # Context
    @instance_context = nil
    @params = { 'chat_service_sid' => chat_service_sid  || @properties['chat_service_sid']  , }
end

Instance Method Details

#account_sidString

Returns The unique ID of the [Account](www.twilio.com/docs/iam/api/account) responsible for this configuration.

Returns:



215
216
217
# File 'lib/twilio-ruby/rest/conversations/v1/service/configuration/notification.rb', line 215

def 
    @properties['account_sid']
end

#added_to_conversationHash

Returns The Push Notification configuration for being added to a Conversation.

Returns:

  • (Hash)

    The Push Notification configuration for being added to a Conversation.



233
234
235
# File 'lib/twilio-ruby/rest/conversations/v1/service/configuration/notification.rb', line 233

def added_to_conversation
    @properties['added_to_conversation']
end

#chat_service_sidString

Returns The SID of the [Conversation Service](www.twilio.com/docs/conversations/api/service-resource) the Configuration applies to.

Returns:



221
222
223
# File 'lib/twilio-ruby/rest/conversations/v1/service/configuration/notification.rb', line 221

def chat_service_sid
    @properties['chat_service_sid']
end

#contextNotificationContext

Generate an instance context for the instance, the context is capable of performing various actions. All instance actions are proxied to the context

Returns:



206
207
208
209
210
211
# File 'lib/twilio-ruby/rest/conversations/v1/service/configuration/notification.rb', line 206

def context
    unless @instance_context
        @instance_context = NotificationContext.new(@version , @params['chat_service_sid'])
    end
    @instance_context
end

#fetchNotificationInstance

Fetch the NotificationInstance

Returns:



258
259
260
261
# File 'lib/twilio-ruby/rest/conversations/v1/service/configuration/notification.rb', line 258

def fetch

    context.fetch
end

#inspectObject

Provide a detailed, user friendly representation



321
322
323
324
# File 'lib/twilio-ruby/rest/conversations/v1/service/configuration/notification.rb', line 321

def inspect
    values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
    "<Twilio.Conversations.V1.NotificationInstance #{values}>"
end

#log_enabledBoolean

Returns Weather the notification logging is enabled.

Returns:

  • (Boolean)

    Weather the notification logging is enabled.



245
246
247
# File 'lib/twilio-ruby/rest/conversations/v1/service/configuration/notification.rb', line 245

def log_enabled
    @properties['log_enabled']
end

#new_messageHash

Returns The Push Notification configuration for New Messages.

Returns:

  • (Hash)

    The Push Notification configuration for New Messages.



227
228
229
# File 'lib/twilio-ruby/rest/conversations/v1/service/configuration/notification.rb', line 227

def new_message
    @properties['new_message']
end

#removed_from_conversationHash

Returns The Push Notification configuration for being removed from a Conversation.

Returns:

  • (Hash)

    The Push Notification configuration for being removed from a Conversation.



239
240
241
# File 'lib/twilio-ruby/rest/conversations/v1/service/configuration/notification.rb', line 239

def removed_from_conversation
    @properties['removed_from_conversation']
end

#to_sObject

Provide a user friendly representation



314
315
316
317
# File 'lib/twilio-ruby/rest/conversations/v1/service/configuration/notification.rb', line 314

def to_s
    values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
    "<Twilio.Conversations.V1.NotificationInstance #{values}>"
end

#update(log_enabled: :unset, new_message_enabled: :unset, new_message_template: :unset, new_message_sound: :unset, new_message_badge_count_enabled: :unset, added_to_conversation_enabled: :unset, added_to_conversation_template: :unset, added_to_conversation_sound: :unset, removed_from_conversation_enabled: :unset, removed_from_conversation_template: :unset, removed_from_conversation_sound: :unset, new_message_with_media_enabled: :unset, new_message_with_media_template: :unset) ⇒ NotificationInstance

Update the NotificationInstance

Parameters:

  • log_enabled (Boolean) (defaults to: :unset)

    Weather the notification logging is enabled.

  • new_message_enabled (Boolean) (defaults to: :unset)

    Whether to send a notification when a new message is added to a conversation. The default is ‘false`.

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

    The template to use to create the notification text displayed when a new message is added to a conversation and ‘new_message.enabled` is `true`.

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

    The name of the sound to play when a new message is added to a conversation and ‘new_message.enabled` is `true`.

  • new_message_badge_count_enabled (Boolean) (defaults to: :unset)

    Whether the new message badge is enabled. The default is ‘false`.

  • added_to_conversation_enabled (Boolean) (defaults to: :unset)

    Whether to send a notification when a participant is added to a conversation. The default is ‘false`.

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

    The template to use to create the notification text displayed when a participant is added to a conversation and ‘added_to_conversation.enabled` is `true`.

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

    The name of the sound to play when a participant is added to a conversation and ‘added_to_conversation.enabled` is `true`.

  • removed_from_conversation_enabled (Boolean) (defaults to: :unset)

    Whether to send a notification to a user when they are removed from a conversation. The default is ‘false`.

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

    The template to use to create the notification text displayed to a user when they are removed from a conversation and ‘removed_from_conversation.enabled` is `true`.

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

    The name of the sound to play to a user when they are removed from a conversation and ‘removed_from_conversation.enabled` is `true`.

  • new_message_with_media_enabled (Boolean) (defaults to: :unset)

    Whether to send a notification when a new message with media/file attachments is added to a conversation. The default is ‘false`.

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

    The template to use to create the notification text displayed when a new message with media/file attachments is added to a conversation and ‘new_message.attachments.enabled` is `true`.

Returns:



279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
# File 'lib/twilio-ruby/rest/conversations/v1/service/configuration/notification.rb', line 279

def update(
    log_enabled: :unset, 
    new_message_enabled: :unset, 
    new_message_template: :unset, 
    new_message_sound: :unset, 
    new_message_badge_count_enabled: :unset, 
    added_to_conversation_enabled: :unset, 
    added_to_conversation_template: :unset, 
    added_to_conversation_sound: :unset, 
    removed_from_conversation_enabled: :unset, 
    removed_from_conversation_template: :unset, 
    removed_from_conversation_sound: :unset, 
    new_message_with_media_enabled: :unset, 
    new_message_with_media_template: :unset
)

    context.update(
        log_enabled: log_enabled, 
        new_message_enabled: new_message_enabled, 
        new_message_template: new_message_template, 
        new_message_sound: new_message_sound, 
        new_message_badge_count_enabled: new_message_badge_count_enabled, 
        added_to_conversation_enabled: added_to_conversation_enabled, 
        added_to_conversation_template: added_to_conversation_template, 
        added_to_conversation_sound: added_to_conversation_sound, 
        removed_from_conversation_enabled: removed_from_conversation_enabled, 
        removed_from_conversation_template: removed_from_conversation_template, 
        removed_from_conversation_sound: removed_from_conversation_sound, 
        new_message_with_media_enabled: new_message_with_media_enabled, 
        new_message_with_media_template: new_message_with_media_template, 
    )
end

#urlString

Returns An absolute API resource URL for this configuration.

Returns:

  • (String)

    An absolute API resource URL for this configuration.



251
252
253
# File 'lib/twilio-ruby/rest/conversations/v1/service/configuration/notification.rb', line 251

def url
    @properties['url']
end