portatext 1.1.2 → 1.1.3
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/lib/portatext.rb +2 -0
- data/lib/portatext/client/base_client.rb +2 -0
- data/lib/portatext/command/api/variables.rb +44 -0
- data/lib/portatext/exception/not_acceptable.rb +11 -0
- data/portatext.gemspec +1 -1
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 300d82ceef76dd2152b3ca2089efb0ec3b4a29db
|
4
|
+
data.tar.gz: 77df65fc04157d1b0e5836c1cd6b9161cdc0cbef
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 07d179a439857c0dda4c6af8f9316f340b2a8da835e8e629a9173dc8622b76450dce2779f82137e40a2019e173e94ec4afa8a51e41bb5cdac3ef191f0ba88402
|
7
|
+
data.tar.gz: 1889f0b178f9bd7808060061fc7b022d6b2b2d6dea0db9f763bebd79d6ed21764b0f6d39bbfddab9952cba97d00c1f4190cd5e45b568faf07a9182cddb3e76d2
|
data/lib/portatext.rb
CHANGED
@@ -2,6 +2,7 @@ require_relative 'portatext/exception/request_error'
|
|
2
2
|
require_relative 'portatext/exception/server_error'
|
3
3
|
require_relative 'portatext/exception/rate_limited'
|
4
4
|
require_relative 'portatext/exception/invalid_media'
|
5
|
+
require_relative 'portatext/exception/not_acceptable'
|
5
6
|
require_relative 'portatext/exception/invalid_method'
|
6
7
|
require_relative 'portatext/exception/not_found'
|
7
8
|
require_relative 'portatext/exception/forbidden'
|
@@ -33,6 +34,7 @@ require_relative 'portatext/command/api/campaigns'
|
|
33
34
|
require_relative 'portatext/command/api/sms_campaign'
|
34
35
|
require_relative 'portatext/command/api/campaign_lifecycle'
|
35
36
|
require_relative 'portatext/command/api/my_password'
|
37
|
+
require_relative 'portatext/command/api/variables'
|
36
38
|
|
37
39
|
# The PortaText namespace.
|
38
40
|
#
|
@@ -8,6 +8,7 @@ module PortaText
|
|
8
8
|
# Author:: Marcelo Gornstein (mailto:marcelog@portatext.com)
|
9
9
|
# Copyright:: Copyright (c) 2015 PortaText
|
10
10
|
# License:: Apache-2.0
|
11
|
+
# rubocop:disable Metrics/ClassLength
|
11
12
|
class BaseClient
|
12
13
|
attr_writer :endpoint
|
13
14
|
attr_writer :api_key
|
@@ -100,6 +101,7 @@ module PortaText
|
|
100
101
|
403 => PortaText::Exception::Forbidden,
|
101
102
|
404 => PortaText::Exception::NotFound,
|
102
103
|
405 => PortaText::Exception::InvalidMethod,
|
104
|
+
406 => PortaText::Exception::NotAcceptable,
|
103
105
|
415 => PortaText::Exception::InvalidMedia,
|
104
106
|
429 => PortaText::Exception::RateLimited,
|
105
107
|
500 => PortaText::Exception::ServerError
|
@@ -0,0 +1,44 @@
|
|
1
|
+
module PortaText
|
2
|
+
module Command
|
3
|
+
module Api
|
4
|
+
# The variables endpoint.
|
5
|
+
# https://github.com/PortaText/docs/wiki/REST-API#api_variables
|
6
|
+
#
|
7
|
+
# Author:: Marcelo Gornstein (mailto:marcelog@portatext.com)
|
8
|
+
# Copyright:: Copyright (c) 2015 PortaText
|
9
|
+
# License:: Apache-2.0
|
10
|
+
class Variables < Base
|
11
|
+
def for_contact(number)
|
12
|
+
set :number, number
|
13
|
+
end
|
14
|
+
|
15
|
+
def name(name)
|
16
|
+
set :name, name
|
17
|
+
end
|
18
|
+
|
19
|
+
def set_to(name, value)
|
20
|
+
self.name name
|
21
|
+
set :value, value
|
22
|
+
end
|
23
|
+
|
24
|
+
# rubocop:disable Style/AccessorMethodName
|
25
|
+
def set_all(variables)
|
26
|
+
variables = variables.reduce([]) do |acc, v|
|
27
|
+
acc << { key: v[0], value: v[1] }
|
28
|
+
end
|
29
|
+
set :variables, variables
|
30
|
+
end
|
31
|
+
# rubocop:enable Style/AccessorMethodName
|
32
|
+
|
33
|
+
def endpoint(_method)
|
34
|
+
number = @args[:number]
|
35
|
+
@args.delete :number
|
36
|
+
return "contact/#{number}/variables" if @args[:name].nil?
|
37
|
+
name = @args[:name]
|
38
|
+
@args.delete :name
|
39
|
+
"contact/#{number}/variables/#{name}"
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
module PortaText
|
2
|
+
module Exception
|
3
|
+
# Raised on invalid accept content type HTTP 406.
|
4
|
+
#
|
5
|
+
# Author:: Marcelo Gornstein (mailto:marcelog@portatext.com)
|
6
|
+
# Copyright:: Copyright (c) 2015 PortaText
|
7
|
+
# License:: Apache-2.0
|
8
|
+
class NotAcceptable < RequestError
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
data/portatext.gemspec
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: portatext
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- PortaText
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-01-
|
11
|
+
date: 2016-01-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: simplecov
|
@@ -159,6 +159,7 @@ files:
|
|
159
159
|
- lib/portatext/command/api/tariffs.rb
|
160
160
|
- lib/portatext/command/api/templates.rb
|
161
161
|
- lib/portatext/command/api/timezones.rb
|
162
|
+
- lib/portatext/command/api/variables.rb
|
162
163
|
- lib/portatext/command/base.rb
|
163
164
|
- lib/portatext/command/descriptor.rb
|
164
165
|
- lib/portatext/command/result.rb
|
@@ -167,6 +168,7 @@ files:
|
|
167
168
|
- lib/portatext/exception/invalid_credentials.rb
|
168
169
|
- lib/portatext/exception/invalid_media.rb
|
169
170
|
- lib/portatext/exception/invalid_method.rb
|
171
|
+
- lib/portatext/exception/not_acceptable.rb
|
170
172
|
- lib/portatext/exception/not_found.rb
|
171
173
|
- lib/portatext/exception/payment_required.rb
|
172
174
|
- lib/portatext/exception/rate_limited.rb
|