twilio-ruby 5.25.0 → 5.25.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (37) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGES.md +10 -0
  3. data/README.md +2 -2
  4. data/lib/twilio-ruby/rest/api/v2010/account/application.rb +4 -4
  5. data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +7 -0
  6. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +7 -0
  7. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +7 -0
  8. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +7 -0
  9. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +7 -0
  10. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +7 -0
  11. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +7 -0
  12. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +7 -0
  13. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +7 -0
  14. data/lib/twilio-ruby/rest/studio/v1/flow/execution.rb +3 -2
  15. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribe_rule.rb +1 -1
  16. data/lib/twilio-ruby/rest/wireless.rb +6 -0
  17. data/lib/twilio-ruby/rest/wireless/v1.rb +7 -0
  18. data/lib/twilio-ruby/rest/wireless/v1/usage_record.rb +231 -0
  19. data/lib/twilio-ruby/version.rb +1 -1
  20. data/spec/integration/api/v2010/account/application_spec.rb +3 -4
  21. data/spec/integration/api/v2010/account/token_spec.rb +3 -1
  22. data/spec/integration/api/v2010/account/usage/record/all_time_spec.rb +1 -0
  23. data/spec/integration/api/v2010/account/usage/record/daily_spec.rb +1 -0
  24. data/spec/integration/api/v2010/account/usage/record/last_month_spec.rb +1 -0
  25. data/spec/integration/api/v2010/account/usage/record/monthly_spec.rb +1 -0
  26. data/spec/integration/api/v2010/account/usage/record/this_month_spec.rb +1 -0
  27. data/spec/integration/api/v2010/account/usage/record/today_spec.rb +1 -0
  28. data/spec/integration/api/v2010/account/usage/record/yearly_spec.rb +1 -0
  29. data/spec/integration/api/v2010/account/usage/record/yesterday_spec.rb +1 -0
  30. data/spec/integration/api/v2010/account/usage/record_spec.rb +1 -0
  31. data/spec/integration/preview/acc_security/service/verification_check_spec.rb +1 -1
  32. data/spec/integration/preview/acc_security/service/verification_spec.rb +1 -1
  33. data/spec/integration/verify/v2/service/verification_check_spec.rb +1 -1
  34. data/spec/integration/verify/v2/service/verification_spec.rb +4 -4
  35. data/spec/integration/video/v1/room/room_participant/room_participant_subscribe_rule_spec.rb +15 -2
  36. data/spec/integration/wireless/v1/usage_record_spec.rb +111 -0
  37. metadata +5 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 21d71102d15c51b3dd3615c94d4c18f71434ae88589d7ebe550d15966ecf64de
4
- data.tar.gz: be9136348b6575b582b33fd358667e781431fc8061d7d944f74ef9e54ae4747d
3
+ metadata.gz: b58a103e6666de5e513ebe153abad8695d26495086154ef645990ba987b9decf
4
+ data.tar.gz: f7358e904c960836d791a387ed7c9048ec4e3aed58cb4e76b61388fd14b379a1
5
5
  SHA512:
6
- metadata.gz: aa92a41e8e18c76dcc8b0815ac64b95f373f642d28e30b55dac7141bcc774f2ec981bfb0d0a478760299b9704edfdc06f2513d0e32f197706b4624be7cb7f740
7
- data.tar.gz: c4d8232223dddc756dbe4b934eddcbdcd174271ca3075ed1c39ae09c44bae02811dfea305d5e860645d990cb2316c42204a103df5f0af1a83a4e494253a55776
6
+ metadata.gz: da2d22541acdff845e7db8024d3ab7e1018a80ae6e8993d47c97c411fe4eb504299bbef2f2cb2548492fc703e30dfc54b1de0f4c66dc960edea41c3ea085ec00
7
+ data.tar.gz: 388f2a0067147efd2ad9d965b47e1d309eaf3557abbc5b8719aefc30c096fbda12f8b717268b066100e99fd23c59f4c76b56c918ff25e554bdd5522fffaa8f72
data/CHANGES.md CHANGED
@@ -1,6 +1,16 @@
1
1
  twilio-ruby changelog
2
2
  =====================
3
3
 
4
+ [2019-07-10] Version 5.25.1
5
+ ----------------------------
6
+ **Api**
7
+ - Make `friendly_name` optional for applications create
8
+ - Add new property `as_of` date to Usage Record API calls
9
+
10
+ **Wireless**
11
+ - Added Usage Records resource.
12
+
13
+
4
14
  [2019-06-26] Version 5.25.0
5
15
  ----------------------------
6
16
  **Autopilot**
data/README.md CHANGED
@@ -26,13 +26,13 @@ in-line code documentation here in the library.
26
26
  To install using [Bundler][bundler] grab the latest stable version:
27
27
 
28
28
  ```ruby
29
- gem 'twilio-ruby', '~> 5.25.0'
29
+ gem 'twilio-ruby', '~> 5.25.1'
30
30
  ```
31
31
 
32
32
  To manually install `twilio-ruby` via [Rubygems][rubygems] simply gem install:
33
33
 
34
34
  ```bash
35
- gem install twilio-ruby -v 5.25.0
35
+ gem install twilio-ruby -v 5.25.1
36
36
  ```
37
37
 
38
38
  To build and install the development branch yourself from the latest source:
@@ -30,8 +30,6 @@ module Twilio
30
30
  ##
31
31
  # Retrieve a single page of ApplicationInstance records from the API.
32
32
  # Request is executed immediately.
33
- # @param [String] friendly_name A descriptive string that you create to describe
34
- # the new application. It can be up to 64 characters long.
35
33
  # @param [String] api_version The API version to use to start a new TwiML session.
36
34
  # Can be: `2010-04-01` or `2008-08-01`. The default value is the account's default
37
35
  # API version.
@@ -62,10 +60,11 @@ module Twilio
62
60
  # to send status information about SMS messages sent by the application.
63
61
  # @param [String] message_status_callback The URL we should call using a POST
64
62
  # method to send message status information to your application.
63
+ # @param [String] friendly_name A descriptive string that you create to describe
64
+ # the new application. It can be up to 64 characters long.
65
65
  # @return [ApplicationInstance] Newly created ApplicationInstance
66
- def create(friendly_name: nil, api_version: :unset, voice_url: :unset, voice_method: :unset, voice_fallback_url: :unset, voice_fallback_method: :unset, status_callback: :unset, status_callback_method: :unset, voice_caller_id_lookup: :unset, sms_url: :unset, sms_method: :unset, sms_fallback_url: :unset, sms_fallback_method: :unset, sms_status_callback: :unset, message_status_callback: :unset)
66
+ def create(api_version: :unset, voice_url: :unset, voice_method: :unset, voice_fallback_url: :unset, voice_fallback_method: :unset, status_callback: :unset, status_callback_method: :unset, voice_caller_id_lookup: :unset, sms_url: :unset, sms_method: :unset, sms_fallback_url: :unset, sms_fallback_method: :unset, sms_status_callback: :unset, message_status_callback: :unset, friendly_name: :unset)
67
67
  data = Twilio::Values.of({
68
- 'FriendlyName' => friendly_name,
69
68
  'ApiVersion' => api_version,
70
69
  'VoiceUrl' => voice_url,
71
70
  'VoiceMethod' => voice_method,
@@ -80,6 +79,7 @@ module Twilio
80
79
  'SmsFallbackMethod' => sms_fallback_method,
81
80
  'SmsStatusCallback' => sms_status_callback,
82
81
  'MessageStatusCallback' => message_status_callback,
82
+ 'FriendlyName' => friendly_name,
83
83
  })
84
84
 
85
85
  payload = @version.create(
@@ -299,6 +299,7 @@ module Twilio
299
299
  @properties = {
300
300
  'account_sid' => payload['account_sid'],
301
301
  'api_version' => payload['api_version'],
302
+ 'as_of' => payload['as_of'],
302
303
  'category' => payload['category'],
303
304
  'count' => payload['count'],
304
305
  'count_unit' => payload['count_unit'],
@@ -326,6 +327,12 @@ module Twilio
326
327
  @properties['api_version']
327
328
  end
328
329
 
330
+ ##
331
+ # @return [String] Usage records up to date as of this timestamp
332
+ def as_of
333
+ @properties['as_of']
334
+ end
335
+
329
336
  ##
330
337
  # @return [record.Category] The category of usage
331
338
  def category
@@ -226,6 +226,7 @@ module Twilio
226
226
  @properties = {
227
227
  'account_sid' => payload['account_sid'],
228
228
  'api_version' => payload['api_version'],
229
+ 'as_of' => payload['as_of'],
229
230
  'category' => payload['category'],
230
231
  'count' => payload['count'],
231
232
  'count_unit' => payload['count_unit'],
@@ -253,6 +254,12 @@ module Twilio
253
254
  @properties['api_version']
254
255
  end
255
256
 
257
+ ##
258
+ # @return [String] Usage records up to date as of this timestamp
259
+ def as_of
260
+ @properties['as_of']
261
+ end
262
+
256
263
  ##
257
264
  # @return [all_time.Category] The category of usage
258
265
  def category
@@ -226,6 +226,7 @@ module Twilio
226
226
  @properties = {
227
227
  'account_sid' => payload['account_sid'],
228
228
  'api_version' => payload['api_version'],
229
+ 'as_of' => payload['as_of'],
229
230
  'category' => payload['category'],
230
231
  'count' => payload['count'],
231
232
  'count_unit' => payload['count_unit'],
@@ -253,6 +254,12 @@ module Twilio
253
254
  @properties['api_version']
254
255
  end
255
256
 
257
+ ##
258
+ # @return [String] Usage records up to date as of this timestamp
259
+ def as_of
260
+ @properties['as_of']
261
+ end
262
+
256
263
  ##
257
264
  # @return [daily.Category] The category of usage
258
265
  def category
@@ -226,6 +226,7 @@ module Twilio
226
226
  @properties = {
227
227
  'account_sid' => payload['account_sid'],
228
228
  'api_version' => payload['api_version'],
229
+ 'as_of' => payload['as_of'],
229
230
  'category' => payload['category'],
230
231
  'count' => payload['count'],
231
232
  'count_unit' => payload['count_unit'],
@@ -253,6 +254,12 @@ module Twilio
253
254
  @properties['api_version']
254
255
  end
255
256
 
257
+ ##
258
+ # @return [String] Usage records up to date as of this timestamp
259
+ def as_of
260
+ @properties['as_of']
261
+ end
262
+
256
263
  ##
257
264
  # @return [last_month.Category] The category of usage
258
265
  def category
@@ -226,6 +226,7 @@ module Twilio
226
226
  @properties = {
227
227
  'account_sid' => payload['account_sid'],
228
228
  'api_version' => payload['api_version'],
229
+ 'as_of' => payload['as_of'],
229
230
  'category' => payload['category'],
230
231
  'count' => payload['count'],
231
232
  'count_unit' => payload['count_unit'],
@@ -253,6 +254,12 @@ module Twilio
253
254
  @properties['api_version']
254
255
  end
255
256
 
257
+ ##
258
+ # @return [String] Usage records up to date as of this timestamp
259
+ def as_of
260
+ @properties['as_of']
261
+ end
262
+
256
263
  ##
257
264
  # @return [monthly.Category] The category of usage
258
265
  def category
@@ -226,6 +226,7 @@ module Twilio
226
226
  @properties = {
227
227
  'account_sid' => payload['account_sid'],
228
228
  'api_version' => payload['api_version'],
229
+ 'as_of' => payload['as_of'],
229
230
  'category' => payload['category'],
230
231
  'count' => payload['count'],
231
232
  'count_unit' => payload['count_unit'],
@@ -253,6 +254,12 @@ module Twilio
253
254
  @properties['api_version']
254
255
  end
255
256
 
257
+ ##
258
+ # @return [String] Usage records up to date as of this timestamp
259
+ def as_of
260
+ @properties['as_of']
261
+ end
262
+
256
263
  ##
257
264
  # @return [this_month.Category] The category of usage
258
265
  def category
@@ -226,6 +226,7 @@ module Twilio
226
226
  @properties = {
227
227
  'account_sid' => payload['account_sid'],
228
228
  'api_version' => payload['api_version'],
229
+ 'as_of' => payload['as_of'],
229
230
  'category' => payload['category'],
230
231
  'count' => payload['count'],
231
232
  'count_unit' => payload['count_unit'],
@@ -253,6 +254,12 @@ module Twilio
253
254
  @properties['api_version']
254
255
  end
255
256
 
257
+ ##
258
+ # @return [String] Usage records up to date as of this timestamp
259
+ def as_of
260
+ @properties['as_of']
261
+ end
262
+
256
263
  ##
257
264
  # @return [today.Category] The category of usage
258
265
  def category
@@ -226,6 +226,7 @@ module Twilio
226
226
  @properties = {
227
227
  'account_sid' => payload['account_sid'],
228
228
  'api_version' => payload['api_version'],
229
+ 'as_of' => payload['as_of'],
229
230
  'category' => payload['category'],
230
231
  'count' => payload['count'],
231
232
  'count_unit' => payload['count_unit'],
@@ -253,6 +254,12 @@ module Twilio
253
254
  @properties['api_version']
254
255
  end
255
256
 
257
+ ##
258
+ # @return [String] Usage records up to date as of this timestamp
259
+ def as_of
260
+ @properties['as_of']
261
+ end
262
+
256
263
  ##
257
264
  # @return [yearly.Category] The category of usage
258
265
  def category
@@ -226,6 +226,7 @@ module Twilio
226
226
  @properties = {
227
227
  'account_sid' => payload['account_sid'],
228
228
  'api_version' => payload['api_version'],
229
+ 'as_of' => payload['as_of'],
229
230
  'category' => payload['category'],
230
231
  'count' => payload['count'],
231
232
  'count_unit' => payload['count_unit'],
@@ -253,6 +254,12 @@ module Twilio
253
254
  @properties['api_version']
254
255
  end
255
256
 
257
+ ##
258
+ # @return [String] Usage records up to date as of this timestamp
259
+ def as_of
260
+ @properties['as_of']
261
+ end
262
+
256
263
  ##
257
264
  # @return [yesterday.Category] The category of usage
258
265
  def category
@@ -134,9 +134,10 @@ module Twilio
134
134
  # Retrieve a single page of ExecutionInstance records from the API.
135
135
  # Request is executed immediately.
136
136
  # @param [String] to The Contact phone number to start a Studio Flow Execution,
137
- # available as variable {{contact.channel.address}}.
137
+ # available as variable `{{contact.channel.address}}`.
138
138
  # @param [String] from The Twilio phone number to send messages or initiate calls
139
- # from during the Flow Execution, available as variable {{flow.channel.address}}
139
+ # from during the Flow Execution, available as variable
140
+ # `{{flow.channel.address}}`.
140
141
  # @param [Hash] parameters JSON data that will be added to your flow's context and
141
142
  # can accessed as variables inside your flow. For example, if you pass in
142
143
  # `Parameters={"name":"Zeke"}`, then inside a widget you can reference the
@@ -154,7 +154,7 @@ module Twilio
154
154
  end
155
155
 
156
156
  ##
157
- # @return [Hash] A collection of Subscribe Rules to include or exclude matching Tracks.
157
+ # @return [String] A collection of Subscribe Rules to include or exclude matching Tracks.
158
158
  def rules
159
159
  @properties['rules']
160
160
  end
@@ -46,6 +46,12 @@ module Twilio
46
46
  self.v1.rate_plans(sid)
47
47
  end
48
48
 
49
+ ##
50
+ # @return [Twilio::REST::Wireless::V1::UsageRecordInstance]
51
+ def usage_records
52
+ self.v1.usage_records()
53
+ end
54
+
49
55
  ##
50
56
  # @param [String] sid A 34 character string that uniquely identifies this
51
57
  # resource.
@@ -17,6 +17,7 @@ module Twilio
17
17
  @version = 'v1'
18
18
  @commands = nil
19
19
  @rate_plans = nil
20
+ @usage_records = nil
20
21
  @sims = nil
21
22
  end
22
23
 
@@ -49,6 +50,12 @@ module Twilio
49
50
  end
50
51
  end
51
52
 
53
+ ##
54
+ # @return [Twilio::REST::Wireless::V1::UsageRecordContext]
55
+ def usage_records
56
+ @usage_records ||= UsageRecordList.new self
57
+ end
58
+
52
59
  ##
53
60
  # @param [String] sid A 34 character string that uniquely identifies this
54
61
  # resource.
@@ -0,0 +1,231 @@
1
+ ##
2
+ # This code was generated by
3
+ # \ / _ _ _| _ _
4
+ # | (_)\/(_)(_|\/| |(/_ v1.0.0
5
+ # / /
6
+ #
7
+ # frozen_string_literal: true
8
+
9
+ module Twilio
10
+ module REST
11
+ class Wireless < Domain
12
+ class V1 < Version
13
+ class UsageRecordList < ListResource
14
+ ##
15
+ # Initialize the UsageRecordList
16
+ # @param [Version] version Version that contains the resource
17
+ # @return [UsageRecordList] UsageRecordList
18
+ def initialize(version)
19
+ super(version)
20
+
21
+ # Path Solution
22
+ @solution = {}
23
+ @uri = "/UsageRecords"
24
+ end
25
+
26
+ ##
27
+ # Lists UsageRecordInstance records from the API as a list.
28
+ # Unlike stream(), this operation is eager and will load `limit` records into
29
+ # memory before returning.
30
+ # @param [Time] end_ Only include usage that has occurred on or before this date.
31
+ # Format is [ISO 8601](http://www.iso.org/iso/home/standards/iso8601.htm).
32
+ # @param [Time] start Only include usage that has occurred on or after this date.
33
+ # Format is [ISO 8601](http://www.iso.org/iso/home/standards/iso8601.htm).
34
+ # @param [usage_record.Granularity] granularity The time-based grouping that
35
+ # results are aggregated by. Valid values are `daily`, `hourly`, `all`. `all` will
36
+ # return one Usage Record for the entire period.
37
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
38
+ # guarantees to never return more than limit. Default is no limit
39
+ # @param [Integer] page_size Number of records to fetch per request, when
40
+ # not set will use the default value of 50 records. If no page_size is defined
41
+ # but a limit is defined, stream() will attempt to read the limit with the most
42
+ # efficient page size, i.e. min(limit, 1000)
43
+ # @return [Array] Array of up to limit results
44
+ def list(end_: :unset, start: :unset, granularity: :unset, limit: nil, page_size: nil)
45
+ self.stream(
46
+ end_: end_,
47
+ start: start,
48
+ granularity: granularity,
49
+ limit: limit,
50
+ page_size: page_size
51
+ ).entries
52
+ end
53
+
54
+ ##
55
+ # Streams UsageRecordInstance records from the API as an Enumerable.
56
+ # This operation lazily loads records as efficiently as possible until the limit
57
+ # is reached.
58
+ # @param [Time] end_ Only include usage that has occurred on or before this date.
59
+ # Format is [ISO 8601](http://www.iso.org/iso/home/standards/iso8601.htm).
60
+ # @param [Time] start Only include usage that has occurred on or after this date.
61
+ # Format is [ISO 8601](http://www.iso.org/iso/home/standards/iso8601.htm).
62
+ # @param [usage_record.Granularity] granularity The time-based grouping that
63
+ # results are aggregated by. Valid values are `daily`, `hourly`, `all`. `all` will
64
+ # return one Usage Record for the entire period.
65
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
66
+ # guarantees to never return more than limit. Default is no limit.
67
+ # @param [Integer] page_size Number of records to fetch per request, when
68
+ # not set will use the default value of 50 records. If no page_size is defined
69
+ # but a limit is defined, stream() will attempt to read the limit with the most
70
+ # efficient page size, i.e. min(limit, 1000)
71
+ # @return [Enumerable] Enumerable that will yield up to limit results
72
+ def stream(end_: :unset, start: :unset, granularity: :unset, limit: nil, page_size: nil)
73
+ limits = @version.read_limits(limit, page_size)
74
+
75
+ page = self.page(end_: end_, start: start, granularity: granularity, page_size: limits[:page_size], )
76
+
77
+ @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
78
+ end
79
+
80
+ ##
81
+ # When passed a block, yields UsageRecordInstance records from the API.
82
+ # This operation lazily loads records as efficiently as possible until the limit
83
+ # is reached.
84
+ def each
85
+ limits = @version.read_limits
86
+
87
+ page = self.page(page_size: limits[:page_size], )
88
+
89
+ @version.stream(page,
90
+ limit: limits[:limit],
91
+ page_limit: limits[:page_limit]).each {|x| yield x}
92
+ end
93
+
94
+ ##
95
+ # Retrieve a single page of UsageRecordInstance records from the API.
96
+ # Request is executed immediately.
97
+ # @param [Time] end_ Only include usage that has occurred on or before this date.
98
+ # Format is [ISO 8601](http://www.iso.org/iso/home/standards/iso8601.htm).
99
+ # @param [Time] start Only include usage that has occurred on or after this date.
100
+ # Format is [ISO 8601](http://www.iso.org/iso/home/standards/iso8601.htm).
101
+ # @param [usage_record.Granularity] granularity The time-based grouping that
102
+ # results are aggregated by. Valid values are `daily`, `hourly`, `all`. `all` will
103
+ # return one Usage Record for the entire period.
104
+ # @param [String] page_token PageToken provided by the API
105
+ # @param [Integer] page_number Page Number, this value is simply for client state
106
+ # @param [Integer] page_size Number of records to return, defaults to 50
107
+ # @return [Page] Page of UsageRecordInstance
108
+ def page(end_: :unset, start: :unset, granularity: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
109
+ params = Twilio::Values.of({
110
+ 'End' => Twilio.serialize_iso8601_datetime(end_),
111
+ 'Start' => Twilio.serialize_iso8601_datetime(start),
112
+ 'Granularity' => granularity,
113
+ 'PageToken' => page_token,
114
+ 'Page' => page_number,
115
+ 'PageSize' => page_size,
116
+ })
117
+ response = @version.page(
118
+ 'GET',
119
+ @uri,
120
+ params
121
+ )
122
+ UsageRecordPage.new(@version, response, @solution)
123
+ end
124
+
125
+ ##
126
+ # Retrieve a single page of UsageRecordInstance records from the API.
127
+ # Request is executed immediately.
128
+ # @param [String] target_url API-generated URL for the requested results page
129
+ # @return [Page] Page of UsageRecordInstance
130
+ def get_page(target_url)
131
+ response = @version.domain.request(
132
+ 'GET',
133
+ target_url
134
+ )
135
+ UsageRecordPage.new(@version, response, @solution)
136
+ end
137
+
138
+ ##
139
+ # Provide a user friendly representation
140
+ def to_s
141
+ '#<Twilio.Wireless.V1.UsageRecordList>'
142
+ end
143
+ end
144
+
145
+ class UsageRecordPage < Page
146
+ ##
147
+ # Initialize the UsageRecordPage
148
+ # @param [Version] version Version that contains the resource
149
+ # @param [Response] response Response from the API
150
+ # @param [Hash] solution Path solution for the resource
151
+ # @return [UsageRecordPage] UsageRecordPage
152
+ def initialize(version, response, solution)
153
+ super(version, response)
154
+
155
+ # Path Solution
156
+ @solution = solution
157
+ end
158
+
159
+ ##
160
+ # Build an instance of UsageRecordInstance
161
+ # @param [Hash] payload Payload response from the API
162
+ # @return [UsageRecordInstance] UsageRecordInstance
163
+ def get_instance(payload)
164
+ UsageRecordInstance.new(@version, payload, )
165
+ end
166
+
167
+ ##
168
+ # Provide a user friendly representation
169
+ def to_s
170
+ '<Twilio.Wireless.V1.UsageRecordPage>'
171
+ end
172
+ end
173
+
174
+ class UsageRecordInstance < InstanceResource
175
+ ##
176
+ # Initialize the UsageRecordInstance
177
+ # @param [Version] version Version that contains the resource
178
+ # @param [Hash] payload payload that contains response from Twilio
179
+ # @return [UsageRecordInstance] UsageRecordInstance
180
+ def initialize(version, payload)
181
+ super(version)
182
+
183
+ # Marshaled Properties
184
+ @properties = {
185
+ 'account_sid' => payload['account_sid'],
186
+ 'period' => payload['period'],
187
+ 'commands' => payload['commands'],
188
+ 'data' => payload['data'],
189
+ }
190
+ end
191
+
192
+ ##
193
+ # @return [String] The unique id of the Account.
194
+ def account_sid
195
+ @properties['account_sid']
196
+ end
197
+
198
+ ##
199
+ # @return [Hash] The time period for which usage is reported.
200
+ def period
201
+ @properties['period']
202
+ end
203
+
204
+ ##
205
+ # @return [Hash] An object representing the aggregated Commands usage for all SIMs over the period.
206
+ def commands
207
+ @properties['commands']
208
+ end
209
+
210
+ ##
211
+ # @return [Hash] An object representing the aggregated Data usage for all SIMs over the period.
212
+ def data
213
+ @properties['data']
214
+ end
215
+
216
+ ##
217
+ # Provide a user friendly representation
218
+ def to_s
219
+ "<Twilio.Wireless.V1.UsageRecordInstance>"
220
+ end
221
+
222
+ ##
223
+ # Provide a detailed, user friendly representation
224
+ def inspect
225
+ "<Twilio.Wireless.V1.UsageRecordInstance>"
226
+ end
227
+ end
228
+ end
229
+ end
230
+ end
231
+ end
@@ -1,3 +1,3 @@
1
1
  module Twilio
2
- VERSION = '5.25.0'
2
+ VERSION = '5.25.1'
3
3
  end
@@ -14,15 +14,14 @@ describe 'Application' do
14
14
 
15
15
  expect {
16
16
  @client.api.v2010.accounts('ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
17
- .applications.create(friendly_name: 'friendly_name')
17
+ .applications.create()
18
18
  }.to raise_exception(Twilio::REST::TwilioError)
19
19
 
20
- values = {'FriendlyName' => 'friendly_name', }
20
+ values = {}
21
21
  expect(
22
22
  @holodeck.has_request?(Holodeck::Request.new(
23
23
  method: 'post',
24
24
  url: 'https://api.twilio.com/2010-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Applications.json',
25
- data: values,
26
25
  ))).to eq(true)
27
26
  end
28
27
 
@@ -56,7 +55,7 @@ describe 'Application' do
56
55
  ))
57
56
 
58
57
  actual = @client.api.v2010.accounts('ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
59
- .applications.create(friendly_name: 'friendly_name')
58
+ .applications.create()
60
59
 
61
60
  expect(actual).to_not eq(nil)
62
61
  end
@@ -35,11 +35,13 @@ describe 'Token' do
35
35
  "date_updated": "Fri, 24 Jul 2015 18:43:58 +0000",
36
36
  "ice_servers": [
37
37
  {
38
- "url": "stun:global.stun:3478?transport=udp"
38
+ "url": "stun:global.stun:3478?transport=udp",
39
+ "urls": "stun:global.stun:3478?transport=udp"
39
40
  },
40
41
  {
41
42
  "credential": "5SR2x8mZK1lTFJW3NVgLGw6UM9C0dja4jI/Hdw3xr+w=",
42
43
  "url": "turn:global.turn:3478?transport=udp",
44
+ "urls": "turn:global.turn:3478?transport=udp",
43
45
  "username": "cda92e5006c7810494639fc466ecc80182cef8183fdf400f84c4126f3b59d0bb"
44
46
  }
45
47
  ],
@@ -47,6 +47,7 @@ describe 'AllTime' do
47
47
  {
48
48
  "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
49
49
  "api_version": "2010-04-01",
50
+ "as_of": "2019-06-24T22:32:49+00:00",
50
51
  "category": "sms-inbound-shortcode",
51
52
  "count": "0",
52
53
  "count_unit": "messages",
@@ -47,6 +47,7 @@ describe 'Daily' do
47
47
  {
48
48
  "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
49
49
  "api_version": "2010-04-01",
50
+ "as_of": "2019-06-24T22:32:49+00:00",
50
51
  "category": "sms-inbound-shortcode",
51
52
  "count": "0",
52
53
  "count_unit": "messages",
@@ -47,6 +47,7 @@ describe 'LastMonth' do
47
47
  {
48
48
  "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
49
49
  "api_version": "2010-04-01",
50
+ "as_of": "2019-06-24T22:32:49+00:00",
50
51
  "category": "sms-inbound-shortcode",
51
52
  "count": "0",
52
53
  "count_unit": "messages",
@@ -47,6 +47,7 @@ describe 'Monthly' do
47
47
  {
48
48
  "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
49
49
  "api_version": "2010-04-01",
50
+ "as_of": "2019-06-24T22:32:49+00:00",
50
51
  "category": "sms-inbound-shortcode",
51
52
  "count": "0",
52
53
  "count_unit": "messages",
@@ -47,6 +47,7 @@ describe 'ThisMonth' do
47
47
  {
48
48
  "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
49
49
  "api_version": "2010-04-01",
50
+ "as_of": "2019-06-24T22:32:49+00:00",
50
51
  "category": "sms-inbound-shortcode",
51
52
  "count": "0",
52
53
  "count_unit": "messages",
@@ -47,6 +47,7 @@ describe 'Today' do
47
47
  {
48
48
  "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
49
49
  "api_version": "2010-04-01",
50
+ "as_of": "2019-06-24T22:32:49+00:00",
50
51
  "category": "sms-inbound-shortcode",
51
52
  "count": "0",
52
53
  "count_unit": "messages",
@@ -47,6 +47,7 @@ describe 'Yearly' do
47
47
  {
48
48
  "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
49
49
  "api_version": "2010-04-01",
50
+ "as_of": "2019-06-24T22:32:49+00:00",
50
51
  "category": "sms-inbound-shortcode",
51
52
  "count": "0",
52
53
  "count_unit": "messages",
@@ -47,6 +47,7 @@ describe 'Yesterday' do
47
47
  {
48
48
  "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
49
49
  "api_version": "2010-04-01",
50
+ "as_of": "2019-06-24T22:32:49+00:00",
50
51
  "category": "sms-inbound-shortcode",
51
52
  "count": "0",
52
53
  "count_unit": "messages",
@@ -46,6 +46,7 @@ describe 'Record' do
46
46
  {
47
47
  "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
48
48
  "api_version": "2010-04-01",
49
+ "as_of": "2019-06-24T22:32:49+00:00",
49
50
  "category": "totalprice",
50
51
  "count": null,
51
52
  "count_unit": "",
@@ -34,7 +34,7 @@ describe 'VerificationCheck' do
34
34
  "sid": "VEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
35
35
  "service_sid": "VAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
36
36
  "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
37
- "to": "+14159373912",
37
+ "to": "+15017122661",
38
38
  "channel": "sms",
39
39
  "status": "approved",
40
40
  "valid": false,
@@ -34,7 +34,7 @@ describe 'Verification' do
34
34
  "sid": "VEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
35
35
  "service_sid": "VAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
36
36
  "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
37
- "to": "+14159373912",
37
+ "to": "+15017122661",
38
38
  "channel": "sms",
39
39
  "status": "pending",
40
40
  "valid": null,
@@ -34,7 +34,7 @@ describe 'VerificationCheck' do
34
34
  "sid": "VEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
35
35
  "service_sid": "VAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
36
36
  "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
37
- "to": "+14159373912",
37
+ "to": "+15017122661",
38
38
  "channel": "sms",
39
39
  "status": "approved",
40
40
  "valid": true,
@@ -34,7 +34,7 @@ describe 'Verification' do
34
34
  "sid": "VEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
35
35
  "service_sid": "VAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
36
36
  "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
37
- "to": "+14159373912",
37
+ "to": "+15017122661",
38
38
  "channel": "sms",
39
39
  "status": "pending",
40
40
  "valid": false,
@@ -70,7 +70,7 @@ describe 'Verification' do
70
70
  "sid": "VEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
71
71
  "service_sid": "VAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
72
72
  "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
73
- "to": "+14159373912",
73
+ "to": "+15017122661",
74
74
  "channel": "sms",
75
75
  "status": "pending",
76
76
  "valid": false,
@@ -123,7 +123,7 @@ describe 'Verification' do
123
123
  "sid": "VEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
124
124
  "service_sid": "VAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
125
125
  "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
126
- "to": "+14159373912",
126
+ "to": "+15017122661",
127
127
  "channel": "sms",
128
128
  "status": "canceled",
129
129
  "valid": false,
@@ -175,7 +175,7 @@ describe 'Verification' do
175
175
  "sid": "VEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
176
176
  "service_sid": "VAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
177
177
  "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
178
- "to": "+14159373912",
178
+ "to": "+15017122661",
179
179
  "channel": "sms",
180
180
  "status": "pending",
181
181
  "valid": false,
@@ -35,7 +35,16 @@ describe 'SubscribeRules' do
35
35
  "room_sid": "RMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
36
36
  "date_created": null,
37
37
  "date_updated": null,
38
- "rules": []
38
+ "rules": [
39
+ {
40
+ "type": "include",
41
+ "all": true,
42
+ "publisher": null,
43
+ "track": null,
44
+ "kind": null,
45
+ "priority": null
46
+ }
47
+ ]
39
48
  }
40
49
  ]
41
50
  ))
@@ -76,7 +85,11 @@ describe 'SubscribeRules' do
76
85
  "rules": [
77
86
  {
78
87
  "type": "exclude",
79
- "all": true
88
+ "all": true,
89
+ "publisher": null,
90
+ "track": null,
91
+ "kind": null,
92
+ "priority": null
80
93
  }
81
94
  ]
82
95
  }
@@ -0,0 +1,111 @@
1
+ ##
2
+ # This code was generated by
3
+ # \ / _ _ _| _ _
4
+ # | (_)\/(_)(_|\/| |(/_ v1.0.0
5
+ # / /
6
+ #
7
+ # frozen_string_literal: true
8
+
9
+ require 'spec_helper.rb'
10
+
11
+ describe 'UsageRecord' do
12
+ it "can read" do
13
+ @holodeck.mock(Twilio::Response.new(500, ''))
14
+
15
+ expect {
16
+ @client.wireless.v1.usage_records.list()
17
+ }.to raise_exception(Twilio::REST::TwilioError)
18
+
19
+ values = {}
20
+ expect(
21
+ @holodeck.has_request?(Holodeck::Request.new(
22
+ method: 'get',
23
+ url: 'https://wireless.twilio.com/v1/UsageRecords',
24
+ ))).to eq(true)
25
+ end
26
+
27
+ it "receives fetch responses" do
28
+ @holodeck.mock(Twilio::Response.new(
29
+ 200,
30
+ %q[
31
+ {
32
+ "usage_records": [
33
+ {
34
+ "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
35
+ "commands": {
36
+ "billing_units": "USD",
37
+ "billed": 0,
38
+ "total": 3,
39
+ "from_sim": 1,
40
+ "to_sim": 2,
41
+ "home": {
42
+ "billing_units": "USD",
43
+ "billed": 0,
44
+ "total": 3,
45
+ "from_sim": 1,
46
+ "to_sim": 2
47
+ },
48
+ "national_roaming": {
49
+ "billing_units": "USD",
50
+ "billed": 0,
51
+ "total": 0,
52
+ "from_sim": 0,
53
+ "to_sim": 0
54
+ },
55
+ "international_roaming": []
56
+ },
57
+ "data": {
58
+ "billing_units": "USD",
59
+ "billed": 0.35,
60
+ "total": 3494609,
61
+ "upload": 731560,
62
+ "download": 2763049,
63
+ "units": "bytes",
64
+ "home": {
65
+ "billing_units": "USD",
66
+ "billed": 0.35,
67
+ "total": 3494609,
68
+ "upload": 731560,
69
+ "download": 2763049,
70
+ "units": "bytes"
71
+ },
72
+ "national_roaming": {
73
+ "billing_units": "USD",
74
+ "billed": 0,
75
+ "total": 0,
76
+ "upload": 0,
77
+ "download": 0,
78
+ "units": "bytes"
79
+ },
80
+ "international_roaming": []
81
+ },
82
+ "period": {
83
+ "start": "2015-07-30T20:00:00Z",
84
+ "end": "2015-07-30T20:00:00Z"
85
+ }
86
+ },
87
+ {
88
+ "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
89
+ "commands": {},
90
+ "data": {},
91
+ "period": {}
92
+ }
93
+ ],
94
+ "meta": {
95
+ "first_page_url": "https://wireless.twilio.com/v1/UsageRecords?Start=2015-07-30T20%3A00%3A00Z&End=2015-07-30T20%3A00%3A00Z&PageSize=50&Page=0",
96
+ "key": "usage_records",
97
+ "next_page_url": null,
98
+ "page": 0,
99
+ "page_size": 50,
100
+ "previous_page_url": null,
101
+ "url": "https://wireless.twilio.com/v1/UsageRecords?Start=2015-07-30T20%3A00%3A00Z&End=2015-07-30T20%3A00%3A00Z&PageSize=50&Page=0"
102
+ }
103
+ }
104
+ ]
105
+ ))
106
+
107
+ actual = @client.wireless.v1.usage_records.list()
108
+
109
+ expect(actual).to_not eq(nil)
110
+ end
111
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: twilio-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.25.0
4
+ version: 5.25.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Twilio API Team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-06-26 00:00:00.000000000 Z
11
+ date: 2019-07-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jwt
@@ -534,6 +534,7 @@ files:
534
534
  - lib/twilio-ruby/rest/wireless/v1/sim.rb
535
535
  - lib/twilio-ruby/rest/wireless/v1/sim/data_session.rb
536
536
  - lib/twilio-ruby/rest/wireless/v1/sim/usage_record.rb
537
+ - lib/twilio-ruby/rest/wireless/v1/usage_record.rb
537
538
  - lib/twilio-ruby/security/request_validator.rb
538
539
  - lib/twilio-ruby/twiml/fax_response.rb
539
540
  - lib/twilio-ruby/twiml/messaging_response.rb
@@ -858,6 +859,7 @@ files:
858
859
  - spec/integration/wireless/v1/sim/data_session_spec.rb
859
860
  - spec/integration/wireless/v1/sim/usage_record_spec.rb
860
861
  - spec/integration/wireless/v1/sim_spec.rb
862
+ - spec/integration/wireless/v1/usage_record_spec.rb
861
863
  - spec/jwt/access_token_spec.rb
862
864
  - spec/jwt/client_capability_spec.rb
863
865
  - spec/jwt/task_router_spec.rb
@@ -1220,6 +1222,7 @@ test_files:
1220
1222
  - spec/integration/wireless/v1/sim/data_session_spec.rb
1221
1223
  - spec/integration/wireless/v1/sim/usage_record_spec.rb
1222
1224
  - spec/integration/wireless/v1/sim_spec.rb
1225
+ - spec/integration/wireless/v1/usage_record_spec.rb
1223
1226
  - spec/jwt/access_token_spec.rb
1224
1227
  - spec/jwt/client_capability_spec.rb
1225
1228
  - spec/jwt/task_router_spec.rb