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



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

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:



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
68
69
70
71
72
73
74
# File 'lib/twilio-ruby/rest/wireless/v1/command.rb', line 43

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,
    })

    headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
    
    
    
    
    
    payload = @version.create('POST', @uri, data: data, headers: headers)
    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.



135
136
137
138
139
140
141
142
143
# File 'lib/twilio-ruby/rest/wireless/v1/command.rb', line 135

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



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

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



92
93
94
95
96
97
98
99
100
101
# File 'lib/twilio-ruby/rest/wireless/v1/command.rb', line 92

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



156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
# File 'lib/twilio-ruby/rest/wireless/v1/command.rb', line 156

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,
    })
    headers = Twilio::Values.of({})
    
    

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

    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



118
119
120
121
122
123
124
125
126
127
128
129
# File 'lib/twilio-ruby/rest/wireless/v1/command.rb', line 118

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



191
192
193
# File 'lib/twilio-ruby/rest/wireless/v1/command.rb', line 191

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