Class: Twilio::REST::Wireless::V1::CommandList

Inherits:
ListResource
  • Object
show all
Defined in:
lib/twilio-ruby/rest/wireless/v1/command.rb

Instance Method Summary collapse

Constructor Details

#initialize(version) ⇒ CommandList

Initialize the CommandList

Parameters:

  • version (Version)

    Version that contains the resource



25
26
27
28
29
30
31
# File 'lib/twilio-ruby/rest/wireless/v1/command.rb', line 25

def initialize(version)
    super(version)
    # Path Solution
    @solution = {  }
    @uri = "/Commands"
    
end

Instance Method Details

#create(command: nil, sim: :unset, callback_method: :unset, callback_url: :unset, command_mode: :unset, include_sid: :unset, delivery_receipt_requested: :unset) ⇒ CommandInstance

Create the CommandInstance

Parameters:

  • command (String) (defaults to: nil)

    The message body of the Command. Can be plain text in text mode or a Base64 encoded byte string in binary mode.

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

    The ‘sid` or `unique_name` of the [SIM](www.twilio.com/docs/iot/wireless/api/sim-resource) to send the Command to.

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

    The HTTP method we use to call ‘callback_url`. Can be: `POST` or `GET`, and the default is `POST`.

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

    The URL we call using the ‘callback_url` when the Command has finished sending, whether the command was delivered or it failed.

  • command_mode (CommandMode) (defaults to: :unset)
  • include_sid (String) (defaults to: :unset)

    Whether to include the SID of the command in the message body. Can be: ‘none`, `start`, or `end`, and the default behavior is `none`. When sending a Command to a SIM in text mode, we can automatically include the SID of the Command in the message body, which could be used to ensure that the device does not process the same Command more than once. A value of `start` will prepend the message with the Command SID, and `end` will append it to the end, separating the Command SID from the message body with a space. The length of the Command SID is included in the 160 character limit so the SMS body must be 128 characters or less before the Command SID is included.

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

    Whether to request delivery receipt from the recipient. For Commands that request delivery receipt, the Command state transitions to ‘delivered’ once the server has received a delivery receipt from the device. The default value is ‘true`.

Returns:



42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
# File 'lib/twilio-ruby/rest/wireless/v1/command.rb', line 42

def create(
    command: nil, 
    sim: :unset, 
    callback_method: :unset, 
    callback_url: :unset, 
    command_mode: :unset, 
    include_sid: :unset, 
    delivery_receipt_requested: :unset
)

    data = Twilio::Values.of({
        'Command' => command,
        'Sim' => sim,
        'CallbackMethod' => callback_method,
        'CallbackUrl' => callback_url,
        'CommandMode' => command_mode,
        'IncludeSid' => include_sid,
        'DeliveryReceiptRequested' => delivery_receipt_requested,
    })

    payload = @version.create('POST', @uri, data: data)
    CommandInstance.new(
        @version,
        payload,
    )
end

#eachObject

When passed a block, yields CommandInstance records from the API. This operation lazily loads records as efficiently as possible until the limit is reached.



128
129
130
131
132
133
134
135
136
# File 'lib/twilio-ruby/rest/wireless/v1/command.rb', line 128

def each
    limits = @version.read_limits

    page = self.page(page_size: limits[:page_size], )

    @version.stream(page,
        limit: limits[:limit],
        page_limit: limits[:page_limit]).each {|x| yield x}
end

#get_page(target_url) ⇒ Page

Retrieve a single page of CommandInstance records from the API. Request is executed immediately.

Parameters:

  • target_url (String)

    API-generated URL for the requested results page

Returns:

  • (Page)

    Page of CommandInstance



170
171
172
173
174
175
176
# File 'lib/twilio-ruby/rest/wireless/v1/command.rb', line 170

def get_page(target_url)
    response = @version.domain.request(
        'GET',
        target_url
    )
CommandPage.new(@version, response, @solution)
end

#list(sim: :unset, status: :unset, direction: :unset, transport: :unset, limit: nil, page_size: nil) ⇒ Array

Lists CommandInstance records from the API as a list. Unlike stream(), this operation is eager and will load ‘limit` records into memory before returning.

Parameters:

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

    The ‘sid` or `unique_name` of the [Sim resources](www.twilio.com/docs/iot/wireless/api/sim-resource) to read.

  • status (Status) (defaults to: :unset)

    The status of the resources to read. Can be: ‘queued`, `sent`, `delivered`, `received`, or `failed`.

  • direction (Direction) (defaults to: :unset)

    Only return Commands with this direction value.

  • transport (Transport) (defaults to: :unset)

    Only return Commands with this transport value. Can be: ‘sms` or `ip`.

  • limit (Integer) (defaults to: nil)

    Upper limit for the number of records to return. stream() guarantees to never return more than limit. Default is no limit

  • page_size (Integer) (defaults to: nil)

    Number of records to fetch per request, when not set will use the default value of 50 records. If no page_size is defined but a limit is defined, stream() will attempt to read the limit with the most efficient page size, i.e. min(limit, 1000)

Returns:

  • (Array)

    Array of up to limit results



85
86
87
88
89
90
91
92
93
94
# File 'lib/twilio-ruby/rest/wireless/v1/command.rb', line 85

def list(sim: :unset, status: :unset, direction: :unset, transport: :unset, limit: nil, page_size: nil)
    self.stream(
        sim: sim,
        status: status,
        direction: direction,
        transport: transport,
        limit: limit,
        page_size: page_size
    ).entries
end

#page(sim: :unset, status: :unset, direction: :unset, transport: :unset, page_token: :unset, page_number: :unset, page_size: :unset) ⇒ Page

Retrieve a single page of CommandInstance records from the API. Request is executed immediately.

Parameters:

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

    The ‘sid` or `unique_name` of the [Sim resources](www.twilio.com/docs/iot/wireless/api/sim-resource) to read.

  • status (Status) (defaults to: :unset)

    The status of the resources to read. Can be: ‘queued`, `sent`, `delivered`, `received`, or `failed`.

  • direction (Direction) (defaults to: :unset)

    Only return Commands with this direction value.

  • transport (Transport) (defaults to: :unset)

    Only return Commands with this transport value. Can be: ‘sms` or `ip`.

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

    PageToken provided by the API

  • page_number (Integer) (defaults to: :unset)

    Page Number, this value is simply for client state

  • page_size (Integer) (defaults to: :unset)

    Number of records to return, defaults to 50

Returns:

  • (Page)

    Page of CommandInstance



149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
# File 'lib/twilio-ruby/rest/wireless/v1/command.rb', line 149

def page(sim: :unset, status: :unset, direction: :unset, transport: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
    params = Twilio::Values.of({
        'Sim' => sim,
        'Status' => status,
        'Direction' => direction,
        'Transport' => transport,
        'PageToken' => page_token,
        'Page' => page_number,
        'PageSize' => page_size,
    })

    response = @version.page('GET', @uri, params: params)

    CommandPage.new(@version, response, @solution)
end

#stream(sim: :unset, status: :unset, direction: :unset, transport: :unset, limit: nil, page_size: nil) ⇒ Enumerable

Streams Instance records from the API as an Enumerable. This operation lazily loads records as efficiently as possible until the limit is reached.

Parameters:

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

    The ‘sid` or `unique_name` of the [Sim resources](www.twilio.com/docs/iot/wireless/api/sim-resource) to read.

  • status (Status) (defaults to: :unset)

    The status of the resources to read. Can be: ‘queued`, `sent`, `delivered`, `received`, or `failed`.

  • direction (Direction) (defaults to: :unset)

    Only return Commands with this direction value.

  • transport (Transport) (defaults to: :unset)

    Only return Commands with this transport value. Can be: ‘sms` or `ip`.

  • limit (Integer) (defaults to: nil)

    Upper limit for the number of records to return. stream() guarantees to never return more than limit. Default is no limit

  • page_size (Integer) (defaults to: nil)

    Number of records to fetch per request, when not set will use the default value of 50 records. If no page_size is defined but a limit is defined, stream() will attempt to read the limit with the most efficient page size, i.e. min(limit, 1000)

Returns:

  • (Enumerable)

    Enumerable that will yield up to limit results



111
112
113
114
115
116
117
118
119
120
121
122
# File 'lib/twilio-ruby/rest/wireless/v1/command.rb', line 111

def stream(sim: :unset, status: :unset, direction: :unset, transport: :unset, limit: nil, page_size: nil)
    limits = @version.read_limits(limit, page_size)

    page = self.page(
        sim: sim,
        status: status,
        direction: direction,
        transport: transport,
        page_size: limits[:page_size], )

    @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
end

#to_sObject

Provide a user friendly representation



181
182
183
# File 'lib/twilio-ruby/rest/wireless/v1/command.rb', line 181

def to_s
    '#<Twilio.Wireless.V1.CommandList>'
end