twilio-ruby 4.4.0 → 4.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGES.md +85 -0
- data/Makefile +3 -0
- data/README.md +1 -1
- data/issue_template.md +25 -0
- data/lib/twilio-ruby/rest/accounts.rb +1 -1
- data/lib/twilio-ruby/rest/base_client.rb +3 -2
- data/lib/twilio-ruby/rest/ip-messaging/channels.rb +15 -0
- data/lib/twilio-ruby/rest/ip-messaging/credentials.rb +19 -0
- data/lib/twilio-ruby/rest/ip-messaging/members.rb +8 -0
- data/lib/twilio-ruby/rest/ip-messaging/messages.rb +8 -0
- data/lib/twilio-ruby/rest/ip-messaging/roles.rb +8 -0
- data/lib/twilio-ruby/rest/ip-messaging/services.rb +17 -0
- data/lib/twilio-ruby/rest/ip-messaging/users.rb +8 -0
- data/lib/twilio-ruby/rest/ip_messaging_client.rb +100 -0
- data/lib/twilio-ruby/rest/keys.rb +6 -0
- data/lib/twilio-ruby/rest/pricing/messaging.rb +15 -0
- data/lib/twilio-ruby/rest/pricing/voice.rb +0 -3
- data/lib/twilio-ruby/rest/pricing_client.rb +2 -4
- data/lib/twilio-ruby/rest/trunking/credential_lists.rb +8 -0
- data/lib/twilio-ruby/rest/trunking/ip_access_control_lists.rb +8 -0
- data/lib/twilio-ruby/rest/trunking/origination_urls.rb +8 -0
- data/lib/twilio-ruby/rest/trunking/phone_numbers.rb +8 -0
- data/lib/twilio-ruby/rest/trunking/trunks.rb +19 -0
- data/lib/twilio-ruby/rest/trunking_client.rb +106 -0
- data/lib/twilio-ruby/task_router/capability.rb +11 -5
- data/lib/twilio-ruby/task_router/workflow_builder.rb +7 -1
- data/lib/twilio-ruby/util/access_token.rb +158 -0
- data/lib/twilio-ruby/version.rb +1 -1
- data/lib/twilio-ruby.rb +22 -0
- data/spec/rest/ip-messaging/channel_spec.rb +21 -0
- data/spec/rest/ip-messaging/service_spec.rb +30 -0
- data/spec/rest/ip_messaging_client_spec.rb +21 -0
- data/spec/rest/key_spec.rb +11 -0
- data/spec/rest/pricing_client_spec.rb +15 -0
- data/spec/rest/trunking/trunk_spec.rb +36 -0
- data/spec/task_router/workflow_builder_spec.rb +501 -0
- data/spec/task_router_deprecated_spec.rb +15 -6
- data/spec/task_router_worker_spec.rb +24 -7
- data/spec/util/access_token_spec.rb +161 -0
- metadata +35 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5c7218785a4a8f89282d46a51699076d4fc7e5a3
|
4
|
+
data.tar.gz: e7e159586b45af05889de6c68d92442f29cabff0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 01719027a188f42cfc14c6ed04b326eaaf7099bd6ac80a56072d06c5ffc60219b98c3a1df7848fc326129332042aff183823a871b922f69102fa6ed73e73df4a
|
7
|
+
data.tar.gz: 391720c612c6f76393cbbe82e30938311251df72c551db2b9679a6b483450c351043126a5b92247a8b5c90f5465bb58c4c2a5384d2a10558a7e30cda37aeb397
|
data/CHANGES.md
CHANGED
@@ -1,6 +1,91 @@
|
|
1
1
|
twilio-ruby changelog
|
2
2
|
=====================
|
3
3
|
|
4
|
+
Version 4.13.0
|
5
|
+
--------------
|
6
|
+
|
7
|
+
Released September 19, 2016:
|
8
|
+
|
9
|
+
- Add VideoGrant.
|
10
|
+
|
11
|
+
Version 4.12.1
|
12
|
+
--------------
|
13
|
+
|
14
|
+
Released September 1, 2016:
|
15
|
+
|
16
|
+
- Add VoiceGrant.
|
17
|
+
|
18
|
+
Version 4.11.1
|
19
|
+
-------------
|
20
|
+
|
21
|
+
Released February 12, 2016:
|
22
|
+
|
23
|
+
- Add missing Keys mount to Account
|
24
|
+
|
25
|
+
Version 4.11.0
|
26
|
+
-------------
|
27
|
+
|
28
|
+
Released January 28, 2016:
|
29
|
+
|
30
|
+
- Add support for alternative auth (eg. Keys)
|
31
|
+
|
32
|
+
Version 4.10.0
|
33
|
+
-------------
|
34
|
+
|
35
|
+
Released January 28, 2016:
|
36
|
+
|
37
|
+
- Add support for filter_friendly_name in WorkflowConfig
|
38
|
+
- Load reservations by default in TaskRouter
|
39
|
+
|
40
|
+
Version 4.9.1
|
41
|
+
-------------
|
42
|
+
|
43
|
+
Release January 28, 2016
|
44
|
+
|
45
|
+
- Fix ip messaging first person grant
|
46
|
+
|
47
|
+
Version 4.9.0
|
48
|
+
-------------
|
49
|
+
|
50
|
+
Release December 17, 2015
|
51
|
+
|
52
|
+
- Release ip messaging
|
53
|
+
|
54
|
+
Version 4.8.0
|
55
|
+
-------------
|
56
|
+
|
57
|
+
Release December 8, 2015
|
58
|
+
|
59
|
+
- Make nbf optional
|
60
|
+
|
61
|
+
Version 4.7.0
|
62
|
+
-------------
|
63
|
+
|
64
|
+
Release December 3, 2015
|
65
|
+
|
66
|
+
- Add access tokens
|
67
|
+
|
68
|
+
Version 4.6.2
|
69
|
+
-------------
|
70
|
+
|
71
|
+
Release November 19, 2015
|
72
|
+
|
73
|
+
- Fix Pricing Messages
|
74
|
+
|
75
|
+
Version 4.6.1
|
76
|
+
-------------
|
77
|
+
|
78
|
+
Release November 10, 2015
|
79
|
+
|
80
|
+
- Fix TrunkingClient references
|
81
|
+
|
82
|
+
Version 4.6.0
|
83
|
+
-------------
|
84
|
+
|
85
|
+
Release October 28, 2015
|
86
|
+
|
87
|
+
- Add /Keys endpoint
|
88
|
+
|
4
89
|
Version 4.4.0
|
5
90
|
-------------
|
6
91
|
|
data/Makefile
CHANGED
@@ -10,3 +10,6 @@ test:
|
|
10
10
|
authors:
|
11
11
|
echo "Authors\n=======\n\nA huge thanks to all of our contributors:\n\n" > AUTHORS.md
|
12
12
|
git log --raw | grep "^Author: " | cut -d ' ' -f2- | cut -d '<' -f1 | sed 's/^/- /' | sort | uniq >> AUTHORS.md
|
13
|
+
|
14
|
+
deploy:
|
15
|
+
bundle exec rake build | sed -e 's/.*pkg/pkg/g' | sed -e "s/\.$$//g" | xargs gem push
|
data/README.md
CHANGED
@@ -11,7 +11,7 @@ A module for using the Twilio REST API and generating valid [TwiML](http://www.t
|
|
11
11
|
To install using [Bundler][bundler] grab the latest stable version:
|
12
12
|
|
13
13
|
```ruby
|
14
|
-
gem 'twilio-ruby', '~> 4.
|
14
|
+
gem 'twilio-ruby', '~> 4.11.1'
|
15
15
|
```
|
16
16
|
|
17
17
|
To manually install `twilio-ruby` via [Rubygems][rubygems] simply gem install:
|
data/issue_template.md
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
*Note: These issues are for bugs and feature requests for the helper libraries. If you need help or support, please email help@twilio.com and one of our experts will assist you!*
|
2
|
+
|
3
|
+
|
4
|
+
**Version:**
|
5
|
+
**API Subdomain (api/taskrouter/ip_messaging):**
|
6
|
+
|
7
|
+
### Code Snippet
|
8
|
+
```ruby
|
9
|
+
# paste code here
|
10
|
+
```
|
11
|
+
|
12
|
+
### Exception / Log
|
13
|
+
```
|
14
|
+
<place exception / log here>
|
15
|
+
```
|
16
|
+
|
17
|
+
### Steps to Reproduce
|
18
|
+
1.
|
19
|
+
2.
|
20
|
+
3.
|
21
|
+
|
22
|
+
|
23
|
+
### Feature Request
|
24
|
+
_If this is a feature request, make sure you search Issues for an existing request before creating a new one!_
|
25
|
+
|
@@ -9,7 +9,7 @@ module Twilio
|
|
9
9
|
:calls, :outgoing_caller_ids, :conferences, :sms, :recordings,
|
10
10
|
:transcriptions, :notifications, :applications, :connect_apps,
|
11
11
|
:authorized_connect_apps, :queues, :usage, :messages, :media, :sip,
|
12
|
-
:tokens, :addresses
|
12
|
+
:tokens, :addresses, :keys
|
13
13
|
end
|
14
14
|
end
|
15
15
|
end
|
@@ -26,8 +26,9 @@ module Twilio
|
|
26
26
|
options[:host] ||= self.class.host
|
27
27
|
@config = Twilio::Util::ClientConfig.new options
|
28
28
|
|
29
|
-
@
|
29
|
+
@username = args[0] || Twilio.account_sid
|
30
30
|
@auth_token = args[1] || Twilio.auth_token
|
31
|
+
@account_sid = (args.size > 2 && args[2].is_a?(String) ? args[2] : args[0]) || Twilio.account_sid
|
31
32
|
if @account_sid.nil? || @auth_token.nil?
|
32
33
|
raise ArgumentError, 'Account SID and auth token are required'
|
33
34
|
end
|
@@ -49,7 +50,7 @@ module Twilio
|
|
49
50
|
# build the full path unless already given
|
50
51
|
path = build_full_path(path, params, method) unless args[1]
|
51
52
|
request = method_class.new(path, HTTP_HEADERS)
|
52
|
-
request.basic_auth(@
|
53
|
+
request.basic_auth(@username, @auth_token)
|
53
54
|
request.form_data = params if [:post, :put].include?(method)
|
54
55
|
connect_and_send(request)
|
55
56
|
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
module Twilio
|
2
|
+
module REST
|
3
|
+
module IpMessaging
|
4
|
+
class Channels < NextGenListResource; end
|
5
|
+
class Channel < InstanceResource
|
6
|
+
def initialize(path, client, params={})
|
7
|
+
super
|
8
|
+
@submodule = :IpMessaging
|
9
|
+
resource :messages,
|
10
|
+
:members
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
module Twilio
|
2
|
+
module REST
|
3
|
+
module IpMessaging
|
4
|
+
class Credentials < NextGenListResource
|
5
|
+
def initialize(path, client)
|
6
|
+
@path, @client = path, client
|
7
|
+
@submodule = :IpMessaging
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
class Credential < InstanceResource
|
12
|
+
def initialize(path, client, params={})
|
13
|
+
super
|
14
|
+
@submodule = :IpMessaging
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
module Twilio
|
2
|
+
module REST
|
3
|
+
module IpMessaging
|
4
|
+
class Services < NextGenListResource; end
|
5
|
+
|
6
|
+
class Service < InstanceResource
|
7
|
+
def initialize(path, client, params={})
|
8
|
+
super
|
9
|
+
@submodule = :IpMessaging
|
10
|
+
resource :channels,
|
11
|
+
:users,
|
12
|
+
:roles
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,100 @@
|
|
1
|
+
require 'twilio-ruby/rest/base_client'
|
2
|
+
module Twilio
|
3
|
+
module REST
|
4
|
+
class IpMessagingClient < BaseClient
|
5
|
+
API_VERSION = 'v1'
|
6
|
+
|
7
|
+
attr_reader :services, :credentials
|
8
|
+
|
9
|
+
host 'ip-messaging.twilio.com'
|
10
|
+
|
11
|
+
##
|
12
|
+
# Instantiate a new HTTP Conversations client to talk to Twilio. The parameters
|
13
|
+
# +account_sid+, +auth_token+ are required, unless you have configured
|
14
|
+
# them already using the block configure syntax, and used to generate the
|
15
|
+
# HTTP basic auth header in each request. The +options+ parameter is a
|
16
|
+
# hash of connection configuration options. the following keys are
|
17
|
+
# supported:
|
18
|
+
#
|
19
|
+
# === <tt>host: 'ip-messaging.twilio.com'</tt>
|
20
|
+
#
|
21
|
+
# The domain to which you'd like the client to make HTTP requests. Useful
|
22
|
+
# for testing. Defaults to 'ip-messaging.twilio.com'.
|
23
|
+
#
|
24
|
+
# === <tt>port: 443</tt>
|
25
|
+
#
|
26
|
+
# The port on which to connect to the above domain. Defaults to 443 and
|
27
|
+
# should be left that way except in testing environments.
|
28
|
+
#
|
29
|
+
# === <tt>use_ssl: true</tt>
|
30
|
+
#
|
31
|
+
# Declare whether ssl should be used for connections to the above domain.
|
32
|
+
# Defaults to true and should be left alone except when testing.
|
33
|
+
#
|
34
|
+
# === <tt>ssl_verify_peer: true</tt>
|
35
|
+
#
|
36
|
+
# Declare whether to verify the host's ssl cert when setting up the
|
37
|
+
# connection to the above domain. Defaults to true, but can be turned off
|
38
|
+
# to avoid ssl certificate verification failures in environments without
|
39
|
+
# the necessary ca certificates.
|
40
|
+
#
|
41
|
+
# === <tt>ssl_ca_file: '/path/to/ca/file'</tt>
|
42
|
+
#
|
43
|
+
# Specify the path to the certificate authority bundle you'd like to use
|
44
|
+
# to verify Twilio's SSL certificate on each request. If not specified, a
|
45
|
+
# certificate bundle extraced from Firefox is packaged with the gem and
|
46
|
+
# used by default.
|
47
|
+
#
|
48
|
+
# === <tt>timeout: 30</tt>
|
49
|
+
#
|
50
|
+
# Set the time in seconds to wait before timing out the HTTP request.
|
51
|
+
# Defaults to 30 seconds. If you aren't fetching giant pages of call or
|
52
|
+
# SMS logs you can safely decrease this to something like 3 seconds or
|
53
|
+
# lower. In paricular if you are sending SMS you can set this to 1 second
|
54
|
+
# or less and swallow the exception if you don't care about the response.
|
55
|
+
#
|
56
|
+
# === <tt>proxy_addr: 'proxy.host.domain'</tt>
|
57
|
+
#
|
58
|
+
# The domain of a proxy through which you'd like the client to make HTTP
|
59
|
+
# requests. Defaults to nil.
|
60
|
+
#
|
61
|
+
# === <tt>proxy_port: 3128</tt>
|
62
|
+
#
|
63
|
+
# The port on which to connect to the above proxy. Defaults to nil.
|
64
|
+
#
|
65
|
+
# === <tt>proxy_user: 'username'</tt>
|
66
|
+
#
|
67
|
+
# The user name to use for authentication with the proxy. Defaults to nil.
|
68
|
+
#
|
69
|
+
# === <tt>proxy_pass: 'password'</tt>
|
70
|
+
#
|
71
|
+
# The password to use for authentication with the proxy. Defaults to nil.
|
72
|
+
#
|
73
|
+
# === <tt>retry_limit: 1</tt>
|
74
|
+
#
|
75
|
+
# The number of times to retry a request that has failed before throwing
|
76
|
+
# an exception. Defaults to one.
|
77
|
+
def inspect # :nodoc:
|
78
|
+
"<Twilio::REST::IpMessagingClient @account_sid=#{@account_sid}>"
|
79
|
+
end
|
80
|
+
|
81
|
+
protected
|
82
|
+
|
83
|
+
##
|
84
|
+
# Create subresource properties
|
85
|
+
def set_up_subresources # :doc:
|
86
|
+
@services = Twilio::REST::IpMessaging::Services.new "/#{API_VERSION}/Services", self
|
87
|
+
@credentials = Twilio::REST::IpMessaging::Credentials.new "/#{API_VERSION}/Credentials", self
|
88
|
+
end
|
89
|
+
|
90
|
+
##
|
91
|
+
# Builds up full request path
|
92
|
+
def build_full_path(path, params, method)
|
93
|
+
path = path.dup
|
94
|
+
path << "?#{url_encode(params)}" if method == :get && !params.empty?
|
95
|
+
path
|
96
|
+
end
|
97
|
+
|
98
|
+
end
|
99
|
+
end
|
100
|
+
end
|
@@ -1,7 +1,4 @@
|
|
1
1
|
require 'twilio-ruby/rest/base_client'
|
2
|
-
require 'twilio-ruby/rest/pricing'
|
3
|
-
require 'twilio-ruby/rest/pricing/voice'
|
4
|
-
require 'twilio-ruby/rest/pricing/phone_numbers'
|
5
2
|
|
6
3
|
module Twilio
|
7
4
|
module REST
|
@@ -11,7 +8,7 @@ module Twilio
|
|
11
8
|
|
12
9
|
API_VERSION = 'v1'
|
13
10
|
|
14
|
-
attr_reader :voice, :phone_numbers
|
11
|
+
attr_reader :voice, :phone_numbers, :messaging
|
15
12
|
|
16
13
|
host 'pricing.twilio.com'
|
17
14
|
|
@@ -96,6 +93,7 @@ module Twilio
|
|
96
93
|
def set_up_subresources # :doc:
|
97
94
|
@voice = Twilio::REST::Pricing::Voice.new "/#{API_VERSION}/Voice", self
|
98
95
|
@phone_numbers = Twilio::REST::Pricing::PhoneNumbers.new "/#{API_VERSION}/PhoneNumbers", self
|
96
|
+
@messaging = Twilio::REST::Pricing::Messaging.new "/#{API_VERSION}/Messaging", self
|
99
97
|
end
|
100
98
|
|
101
99
|
##
|
@@ -0,0 +1,19 @@
|
|
1
|
+
module Twilio
|
2
|
+
module REST
|
3
|
+
module Trunking
|
4
|
+
class Trunks < NextGenListResource; end
|
5
|
+
class Trunk < InstanceResource
|
6
|
+
|
7
|
+
def initialize(path, client, params={})
|
8
|
+
super
|
9
|
+
@submodule = :Trunking
|
10
|
+
resource :credential_lists,
|
11
|
+
:ip_access_control_lists,
|
12
|
+
:origination_urls,
|
13
|
+
:phone_numbers
|
14
|
+
end
|
15
|
+
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,106 @@
|
|
1
|
+
require 'twilio-ruby/rest/base_client'
|
2
|
+
|
3
|
+
module Twilio
|
4
|
+
module REST
|
5
|
+
class TrunkingClient < BaseClient
|
6
|
+
include Twilio::Util
|
7
|
+
include Twilio::REST::Utils
|
8
|
+
|
9
|
+
API_VERSION = 'v1'
|
10
|
+
|
11
|
+
attr_reader :trunks
|
12
|
+
|
13
|
+
host 'trunking.twilio.com'
|
14
|
+
|
15
|
+
##
|
16
|
+
# Instantiate a new HTTP client to talk to Twilio's Trunking API. The
|
17
|
+
# parameters +account_sid+ and +auth_token+ are required, unless you have
|
18
|
+
# configured them already using the block configure syntax, and used to
|
19
|
+
# generate the HTTP basic auth header in each request. The +options+
|
20
|
+
# parameter is a hash of connection configuration options. the following
|
21
|
+
# keys are supported:
|
22
|
+
#
|
23
|
+
# === <tt>host: 'trunking.twilio.com'</tt>
|
24
|
+
#
|
25
|
+
# The domain to which you'd like the client to make HTTP requests. Useful
|
26
|
+
# for testing. Defaults to 'trunking.twilio.com'.
|
27
|
+
#
|
28
|
+
# === <tt>port: 443</tt>
|
29
|
+
#
|
30
|
+
# The port on which to connect to the above domain. Defaults to 443 and
|
31
|
+
# should be left that way except in testing environments.
|
32
|
+
#
|
33
|
+
# === <tt>use_ssl: true</tt>
|
34
|
+
#
|
35
|
+
# Declare whether ssl should be used for connections to the above domain.
|
36
|
+
# Defaults to true and should be left alone except when testing.
|
37
|
+
#
|
38
|
+
# === <tt>ssl_verify_peer: true</tt>
|
39
|
+
#
|
40
|
+
# Declare whether to verify the host's ssl cert when setting up the
|
41
|
+
# connection to the above domain. Defaults to true, but can be turned off
|
42
|
+
# to avoid ssl certificate verification failures in environments without
|
43
|
+
# the necessary ca certificates.
|
44
|
+
#
|
45
|
+
# === <tt>ssl_ca_file: '/path/to/ca/file'</tt>
|
46
|
+
#
|
47
|
+
# Specify the path to the certificate authority bundle you'd like to use
|
48
|
+
# to verify Twilio's SSL certificate on each request. If not specified, a
|
49
|
+
# certificate bundle extraced from Firefox is packaged with the gem and
|
50
|
+
# used by default.
|
51
|
+
#
|
52
|
+
# === <tt>timeout: 30</tt>
|
53
|
+
#
|
54
|
+
# Set the time in seconds to wait before timing out the HTTP request.
|
55
|
+
# Defaults to 30 seconds. If you aren't fetching giant pages of call or
|
56
|
+
# SMS logs you can safely decrease this to something like 3 seconds or
|
57
|
+
# lower. In paricular if you are sending SMS you can set this to 1 second
|
58
|
+
# or less and swallow the exception if you don't care about the response.
|
59
|
+
#
|
60
|
+
# === <tt>proxy_addr: 'proxy.host.domain'</tt>
|
61
|
+
#
|
62
|
+
# The domain of a proxy through which you'd like the client to make HTTP
|
63
|
+
# requests. Defaults to nil.
|
64
|
+
#
|
65
|
+
# === <tt>proxy_port: 3128</tt>
|
66
|
+
#
|
67
|
+
# The port on which to connect to the above proxy. Defaults to nil.
|
68
|
+
#
|
69
|
+
# === <tt>proxy_user: 'username'</tt>
|
70
|
+
#
|
71
|
+
# The user name to use for authentication with the proxy. Defaults to nil.
|
72
|
+
#
|
73
|
+
# === <tt>proxy_pass: 'password'</tt>
|
74
|
+
#
|
75
|
+
# The password to use for authentication with the proxy. Defaults to nil.
|
76
|
+
#
|
77
|
+
# === <tt>retry_limit: 1</tt>
|
78
|
+
#
|
79
|
+
# The number of times to retry a request that has failed before throwing
|
80
|
+
# an exception. Defaults to one.
|
81
|
+
def initialize(*args)
|
82
|
+
super(*args)
|
83
|
+
end
|
84
|
+
|
85
|
+
def inspect # :nodoc:
|
86
|
+
"<Twilio::REST::TrunkingClient @account_sid=#{@account_sid}>"
|
87
|
+
end
|
88
|
+
|
89
|
+
protected
|
90
|
+
|
91
|
+
##
|
92
|
+
# Set up +trunks+ attribute.
|
93
|
+
def set_up_subresources # :doc:
|
94
|
+
@trunks = Twilio::REST::Trunking::Trunks.new "/#{API_VERSION}/Trunks", self
|
95
|
+
end
|
96
|
+
|
97
|
+
##
|
98
|
+
# Builds up full request path
|
99
|
+
def build_full_path(path, params, method)
|
100
|
+
path = path.dup
|
101
|
+
path << "?#{url_encode(params)}" if method == :get && !params.empty?
|
102
|
+
path
|
103
|
+
end
|
104
|
+
end
|
105
|
+
end
|
106
|
+
end
|
@@ -136,8 +136,11 @@ module Twilio
|
|
136
136
|
@activityUrl = @baseUrl + "/Activities"
|
137
137
|
allow(@activityUrl, "GET")
|
138
138
|
|
139
|
-
@
|
140
|
-
allow(@
|
139
|
+
@tasksUrl = @baseUrl + "/Tasks/**"
|
140
|
+
allow(@tasksUrl, "GET")
|
141
|
+
|
142
|
+
@workerReservationsUrl = @resourceUrl + "/Reservations/**"
|
143
|
+
allow(@workerReservationsUrl, "GET")
|
141
144
|
|
142
145
|
elsif(@channel_id[0..1] == 'WQ')
|
143
146
|
@resourceUrl = @baseUrl + "/TaskQueues/" + @channel_id
|
@@ -171,11 +174,13 @@ module Twilio
|
|
171
174
|
|
172
175
|
def initialize(account_sid, auth_token, workspace_sid, worker_sid)
|
173
176
|
super(account_sid, auth_token, workspace_sid, worker_sid)
|
174
|
-
@
|
177
|
+
@tasksUrl = @baseUrl + "/Tasks/**"
|
175
178
|
@activityUrl = @baseUrl + "/Activities"
|
179
|
+
@workerReservationsUrl = @resourceUrl + "/Reservations/**"
|
176
180
|
|
177
181
|
allow(@activityUrl, "GET")
|
178
|
-
allow(@
|
182
|
+
allow(@tasksUrl, "GET")
|
183
|
+
allow(@workerReservationsUrl, "GET")
|
179
184
|
end
|
180
185
|
|
181
186
|
def allow_activity_updates
|
@@ -183,7 +188,8 @@ module Twilio
|
|
183
188
|
end
|
184
189
|
|
185
190
|
def allow_reservation_updates
|
186
|
-
allow(@
|
191
|
+
allow(@tasksUrl, "POST", nil, nil)
|
192
|
+
allow(@workerReservationsUrl, "POST", nil, nil)
|
187
193
|
end
|
188
194
|
|
189
195
|
protected
|
@@ -79,7 +79,13 @@ module Twilio
|
|
79
79
|
rule['targets'].each do |target|
|
80
80
|
targets.push(Twilio::TaskRouter::WorkflowRuleTarget.parse_json(target))
|
81
81
|
end
|
82
|
-
|
82
|
+
unless rule['filter_friendly_name'].nil?
|
83
|
+
friendly_name = rule['filter_friendly_name']
|
84
|
+
end
|
85
|
+
unless rule['friendly_name'].nil?
|
86
|
+
friendly_name = rule['friendly_name']
|
87
|
+
end
|
88
|
+
Twilio::TaskRouter::WorkflowRule.new rule['expression'], targets, friendly_name
|
83
89
|
end
|
84
90
|
end
|
85
91
|
class WorkflowRuleTarget
|