Class: Twilio::REST::Supersim::V1::SimContext

Inherits:
InstanceContext show all
Defined in:
lib/twilio-ruby/rest/supersim/v1/sim.rb,
lib/twilio-ruby/rest/supersim/v1/sim/billing_period.rb,
lib/twilio-ruby/rest/supersim/v1/sim/sim_ip_address.rb

Defined Under Namespace

Classes: BillingPeriodInstance, BillingPeriodList, BillingPeriodPage, SimIpAddressInstance, SimIpAddressList, SimIpAddressPage

Instance Method Summary collapse

Constructor Details

#initialize(version, sid) ⇒ SimContext

Initialize the SimContext



175
176
177
178
179
180
181
182
183
184
185
# File 'lib/twilio-ruby/rest/supersim/v1/sim.rb', line 175

def initialize(version, sid)
    super(version)

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

    # Dependents
    @billing_periods = nil
    @sim_ip_addresses = nil
end

Instance Method Details

#billing_periodsBillingPeriodList, BillingPeriodContext

Access the billing_periods



242
243
244
245
246
247
248
# File 'lib/twilio-ruby/rest/supersim/v1/sim.rb', line 242

def billing_periods
  unless @billing_periods
    @billing_periods = BillingPeriodList.new(
            @version, sim_sid: @solution[:sid], )
  end
  @billing_periods
end

#fetchSimInstance

Fetch the SimInstance



189
190
191
192
193
194
195
196
197
198
199
# File 'lib/twilio-ruby/rest/supersim/v1/sim.rb', line 189

def fetch

    headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
    
    payload = @version.fetch('GET', @uri, headers: headers)
    SimInstance.new(
        @version,
        payload,
        sid: @solution[:sid],
    )
end

#inspectObject

Provide a detailed, user friendly representation



270
271
272
273
# File 'lib/twilio-ruby/rest/supersim/v1/sim.rb', line 270

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

#sim_ip_addressesSimIpAddressList, SimIpAddressContext

Access the sim_ip_addresses



253
254
255
256
257
258
259
# File 'lib/twilio-ruby/rest/supersim/v1/sim.rb', line 253

def sim_ip_addresses
  unless @sim_ip_addresses
    @sim_ip_addresses = SimIpAddressList.new(
            @version, sim_sid: @solution[:sid], )
  end
  @sim_ip_addresses
end

#to_sObject

Provide a user friendly representation



263
264
265
266
# File 'lib/twilio-ruby/rest/supersim/v1/sim.rb', line 263

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

#update(unique_name: :unset, status: :unset, fleet: :unset, callback_url: :unset, callback_method: :unset, account_sid: :unset) ⇒ SimInstance

Update the SimInstance



210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
# File 'lib/twilio-ruby/rest/supersim/v1/sim.rb', line 210

def update(
    unique_name: :unset, 
    status: :unset, 
    fleet: :unset, 
    callback_url: :unset, 
    callback_method: :unset, 
    account_sid: :unset
)

    data = Twilio::Values.of({
        'UniqueName' => unique_name,
        'Status' => status,
        'Fleet' => fleet,
        'CallbackUrl' => callback_url,
        'CallbackMethod' => callback_method,
        'AccountSid' => ,
    })

    headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
    
    payload = @version.update('POST', @uri, data: data, headers: headers)
    SimInstance.new(
        @version,
        payload,
        sid: @solution[:sid],
    )
end