Class: Twilio::REST::IpMessaging::V2::ServiceContext::UserContext::UserChannelInstance

Inherits:
Twilio::REST::InstanceResource show all
Defined in:
lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb

Instance Method Summary collapse

Constructor Details

#initialize(version, payload, service_sid: nil, user_sid: nil, channel_sid: nil) ⇒ UserChannelInstance

Initialize the UserChannelInstance

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 UserChannel resource.

  • sid (String) —

    The SID of the Call resource to fetch.



498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb', line 498

def initialize(version, payload , service_sid: nil, user_sid: nil, channel_sid: nil)
    super(version)
    
    
    # Marshaled Properties
    @properties = { 
        'account_sid' => payload['account_sid'],
        'service_sid' => payload['service_sid'],
        'channel_sid' => payload['channel_sid'],
        'user_sid' => payload['user_sid'],
        'member_sid' => payload['member_sid'],
        'status' => payload['status'],
        'last_consumed_message_index' => payload['last_consumed_message_index'] == nil ? payload['last_consumed_message_index'] : payload['last_consumed_message_index'].to_i,
        'unread_messages_count' => payload['unread_messages_count'] == nil ? payload['unread_messages_count'] : payload['unread_messages_count'].to_i,
        'links' => payload['links'],
        'url' => payload['url'],
        'notification_level' => payload['notification_level'],
    }

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

Instance Method Details

#account_sid ⇒ String

Returns:

  • (String)


535
536
537
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb', line 535

def 
    @properties['account_sid']
end

#channel_sid ⇒ String

Returns:

  • (String)


547
548
549
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb', line 547

def channel_sid
    @properties['channel_sid']
end

#context ⇒ UserChannelContext

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

Returns:



526
527
528
529
530
531
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb', line 526

def context
    unless @instance_context
        @instance_context = UserChannelContext.new(@version , @params['service_sid'], @params['user_sid'], @params['channel_sid'])
    end
    @instance_context
end

#delete ⇒ Boolean

Delete the UserChannelInstance

Returns:

  • (Boolean) —

    True if delete succeeds, false otherwise



602
603
604
605
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb', line 602

def delete

    context.delete
end

#fetch ⇒ UserChannelInstance

Fetch the UserChannelInstance

Returns:



610
611
612
613
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb', line 610

def fetch

    context.fetch
end

#inspect ⇒ Object

Provide a detailed, user friendly representation



643
644
645
646
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb', line 643

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

#last_consumed_message_index ⇒ String

Returns:

  • (String)


571
572
573
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb', line 571

def last_consumed_message_index
    @properties['last_consumed_message_index']
end

Returns:

  • (Hash)


583
584
585
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb', line 583

def links
    @properties['links']
end

#member_sid ⇒ String

Returns:

  • (String)


559
560
561
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb', line 559

def member_sid
    @properties['member_sid']
end

#notification_level ⇒ NotificationLevel

Returns:

  • (NotificationLevel)


595
596
597
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb', line 595

def notification_level
    @properties['notification_level']
end

#service_sid ⇒ String

Returns:

  • (String)


541
542
543
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb', line 541

def service_sid
    @properties['service_sid']
end

#status ⇒ ChannelStatus

Returns:

  • (ChannelStatus)


565
566
567
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb', line 565

def status
    @properties['status']
end

#to_s ⇒ Object

Provide a user friendly representation



636
637
638
639
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb', line 636

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

#unread_messages_count ⇒ String

Returns:

  • (String)


577
578
579
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb', line 577

def unread_messages_count
    @properties['unread_messages_count']
end

#update(notification_level: :unset, last_consumed_message_index: :unset, last_consumption_timestamp: :unset) ⇒ UserChannelInstance

Update the UserChannelInstance

Parameters:

  • notification_level (NotificationLevel) (defaults to: :unset)
  • last_consumed_message_index (String) (defaults to: :unset)
  • last_consumption_timestamp (Time) (defaults to: :unset)

Returns:



621
622
623
624
625
626
627
628
629
630
631
632
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb', line 621

def update(
  notification_level: :unset, 
  last_consumed_message_index: :unset, 
  last_consumption_timestamp: :unset
)

    context.update(
        notification_level: notification_level, 
        last_consumed_message_index: last_consumed_message_index, 
        last_consumption_timestamp: last_consumption_timestamp, 
    )
end

#url ⇒ String

Returns:

  • (String)


589
590
591
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb', line 589

def url
    @properties['url']
end

#user_sid ⇒ String

Returns:

  • (String)


553
554
555
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb', line 553

def user_sid
    @properties['user_sid']
end