twilito 0.3.0 → 0.3.1
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/.github/workflows/main.yml +0 -1
- data/.gitignore +3 -2
- data/Gemfile.lock +24 -1
- data/README.md +21 -2
- data/Rakefile +6 -0
- data/lib/twilito.rb +2 -6
- data/lib/twilito/result.rb +14 -9
- data/lib/twilito/version.rb +1 -1
- data/twilito.gemspec +3 -1
- metadata +35 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b2f08b5829f031adf3297cd2affd3098a5ea36ab6b6f4afad2e6c7c3b252cc41
|
4
|
+
data.tar.gz: 3bdc3c6ad79ab22d5eaa8eddae4bde8843598b0769a54ff4318409bf0505c66b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7a2da6ec5bd1cd861dc537868dcdec42e1820fd9813420b2b6ae70994f901dad1c032dd088334b89e2d8466d6905cd648770a6448b032e87c775e68ab1051268
|
7
|
+
data.tar.gz: 2a8286b6f3de32eb14c81608b0beba3502759c2ea1c25c6d6441d72b2f16674333937e3c6b6f300994ba52ac35b763d1da2ffb04b68ca54782d983f0dde5d6f1
|
data/.github/workflows/main.yml
CHANGED
data/.gitignore
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,29 +1,50 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
twilito (0.3.
|
4
|
+
twilito (0.3.1)
|
5
5
|
|
6
6
|
GEM
|
7
7
|
remote: https://rubygems.org/
|
8
8
|
specs:
|
9
9
|
addressable (2.6.0)
|
10
10
|
public_suffix (>= 2.0.2, < 4.0)
|
11
|
+
ast (2.4.1)
|
11
12
|
coderay (1.1.2)
|
12
13
|
crack (0.4.3)
|
13
14
|
safe_yaml (~> 1.0.0)
|
14
15
|
hashdiff (0.3.8)
|
15
16
|
method_source (0.9.2)
|
16
17
|
minitest (5.11.3)
|
18
|
+
parallel (1.19.2)
|
19
|
+
parser (2.7.1.3)
|
20
|
+
ast (~> 2.4.0)
|
17
21
|
pry (0.12.2)
|
18
22
|
coderay (~> 1.1.0)
|
19
23
|
method_source (~> 0.9.0)
|
20
24
|
public_suffix (3.0.3)
|
25
|
+
rainbow (3.0.0)
|
21
26
|
rake (13.0.1)
|
27
|
+
regexp_parser (1.7.1)
|
28
|
+
rexml (3.2.4)
|
29
|
+
rubocop (0.85.1)
|
30
|
+
parallel (~> 1.10)
|
31
|
+
parser (>= 2.7.0.1)
|
32
|
+
rainbow (>= 2.2.2, < 4.0)
|
33
|
+
regexp_parser (>= 1.7)
|
34
|
+
rexml
|
35
|
+
rubocop-ast (>= 0.0.3)
|
36
|
+
ruby-progressbar (~> 1.7)
|
37
|
+
unicode-display_width (>= 1.4.0, < 2.0)
|
38
|
+
rubocop-ast (0.0.3)
|
39
|
+
parser (>= 2.7.0.1)
|
40
|
+
ruby-progressbar (1.10.1)
|
22
41
|
safe_yaml (1.0.5)
|
42
|
+
unicode-display_width (1.7.0)
|
23
43
|
webmock (3.5.1)
|
24
44
|
addressable (>= 2.3.6)
|
25
45
|
crack (>= 0.3.2)
|
26
46
|
hashdiff
|
47
|
+
yard (0.9.25)
|
27
48
|
|
28
49
|
PLATFORMS
|
29
50
|
ruby
|
@@ -33,8 +54,10 @@ DEPENDENCIES
|
|
33
54
|
minitest (~> 5.11)
|
34
55
|
pry
|
35
56
|
rake (~> 13.0)
|
57
|
+
rubocop
|
36
58
|
twilito!
|
37
59
|
webmock (~> 3)
|
60
|
+
yard (~> 0.9)
|
38
61
|
|
39
62
|
RUBY VERSION
|
40
63
|
ruby 2.6.1p33
|
data/README.md
CHANGED
@@ -37,7 +37,7 @@ result = Twilito.send_sms(
|
|
37
37
|
)
|
38
38
|
|
39
39
|
|
40
|
-
# Returns Twilito::Result
|
40
|
+
# Returns instance of Twilito::Result
|
41
41
|
|
42
42
|
result.success? # => boolean
|
43
43
|
result.errors # => [] or error messages
|
@@ -105,4 +105,23 @@ _TODO: Add examples of mocking and/or test helpers for asserting your code sends
|
|
105
105
|
|
106
106
|
## Contributing
|
107
107
|
|
108
|
-
|
108
|
+
### Contribute Feedback, Ideas, and Bug Reports
|
109
|
+
|
110
|
+
- Create or comment on an issue
|
111
|
+
|
112
|
+
### Contribute Code
|
113
|
+
|
114
|
+
- Find an open issue or create one
|
115
|
+
- Fork this repo and open a PR
|
116
|
+
- Write unit tests for your change
|
117
|
+
|
118
|
+
### Contribute Docs
|
119
|
+
|
120
|
+
- Open a PR to make the README better, or help with contribution guidelines, etc.
|
121
|
+
- There is currently an open issue for adding RDoc/YARD documentation
|
122
|
+
|
123
|
+
### Contribute Beer
|
124
|
+
|
125
|
+
Did Twilito save you some RAM?
|
126
|
+
|
127
|
+
<a href="https://www.buymeacoffee.com/alexford" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/lato-white.png" alt="Buy Me A Beer" height="51" width="217" style="height: 51px !important;width: 217px !important;" ></a>
|
data/Rakefile
CHANGED
@@ -2,6 +2,7 @@
|
|
2
2
|
|
3
3
|
require "bundler/gem_tasks"
|
4
4
|
require "rake/testtask"
|
5
|
+
require 'yard'
|
5
6
|
|
6
7
|
Rake::TestTask.new(:test) do |t|
|
7
8
|
t.libs << "test"
|
@@ -10,3 +11,8 @@ Rake::TestTask.new(:test) do |t|
|
|
10
11
|
end
|
11
12
|
|
12
13
|
task default: :test
|
14
|
+
|
15
|
+
YARD::Rake::YardocTask.new do |t|
|
16
|
+
t.files = ['lib/**/*.rb'] # optional
|
17
|
+
t.options = ['-odocs'] # optional
|
18
|
+
end
|
data/lib/twilito.rb
CHANGED
@@ -28,9 +28,7 @@ module Twilito
|
|
28
28
|
args = merge_configuration(args)
|
29
29
|
|
30
30
|
send_response(args).tap do |response|
|
31
|
-
unless response.is_a? Net::HTTPSuccess
|
32
|
-
raise SendError.new('Error from Twilio API', response)
|
33
|
-
end
|
31
|
+
raise SendError.new('Error from Twilio API', response) unless response.is_a? Net::HTTPSuccess
|
34
32
|
end
|
35
33
|
end
|
36
34
|
|
@@ -40,9 +38,7 @@ module Twilito
|
|
40
38
|
configuration.to_h.merge(args).tap do |merged|
|
41
39
|
missing_keys = merged.select { |_k, v| v.nil? }.keys
|
42
40
|
|
43
|
-
if missing_keys.any?
|
44
|
-
raise ArgumentError, "Missing argument(s): #{missing_keys.join(', ')}"
|
45
|
-
end
|
41
|
+
raise ArgumentError, "Missing argument(s): #{missing_keys.join(', ')}" if missing_keys.any?
|
46
42
|
end
|
47
43
|
end
|
48
44
|
end
|
data/lib/twilito/result.rb
CHANGED
@@ -1,17 +1,22 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
module Twilito
|
4
|
-
Result
|
4
|
+
class Result
|
5
|
+
attr_reader :success, :errors, :sid, :response
|
6
|
+
|
5
7
|
def initialize(success:, errors: [], sid: nil, response: nil)
|
6
|
-
|
8
|
+
@success = success
|
9
|
+
@errors = errors
|
10
|
+
@sid = sid
|
11
|
+
@response = response
|
7
12
|
end
|
8
13
|
|
9
|
-
def self.success(
|
10
|
-
new(success: true,
|
14
|
+
def self.success(response:, sid:)
|
15
|
+
new(success: true, response: response, sid: sid)
|
11
16
|
end
|
12
17
|
|
13
|
-
def self.failure(
|
14
|
-
new(success: false,
|
18
|
+
def self.failure(response:, errors:)
|
19
|
+
new(success: false, response: response, errors: errors)
|
15
20
|
end
|
16
21
|
|
17
22
|
def data
|
@@ -19,15 +24,15 @@ module Twilito
|
|
19
24
|
end
|
20
25
|
|
21
26
|
def success?
|
22
|
-
|
27
|
+
success || false
|
23
28
|
end
|
24
29
|
|
25
30
|
private
|
26
31
|
|
27
32
|
def response_body
|
28
|
-
return nil unless
|
33
|
+
return nil unless response&.respond_to?(:read_body)
|
29
34
|
|
30
|
-
|
35
|
+
response.read_body
|
31
36
|
end
|
32
37
|
end
|
33
38
|
end
|
data/lib/twilito/version.rb
CHANGED
data/twilito.gemspec
CHANGED
@@ -9,7 +9,7 @@ Gem::Specification.new do |spec|
|
|
9
9
|
spec.licenses = ['MIT']
|
10
10
|
spec.version = Twilito::VERSION
|
11
11
|
spec.authors = ["Alex Ford"]
|
12
|
-
spec.email = ["
|
12
|
+
spec.email = ["alexford@hey.com"]
|
13
13
|
spec.required_ruby_version = '>= 2.4.0'
|
14
14
|
|
15
15
|
spec.summary = "A tiny, zero dependency, and easy to test helper for sending text messages with Twilio"
|
@@ -26,5 +26,7 @@ Gem::Specification.new do |spec|
|
|
26
26
|
spec.add_development_dependency "minitest", "~> 5.11"
|
27
27
|
spec.add_development_dependency "pry"
|
28
28
|
spec.add_development_dependency "rake", "~> 13.0"
|
29
|
+
spec.add_development_dependency "rubocop"
|
29
30
|
spec.add_development_dependency "webmock", "~> 3"
|
31
|
+
spec.add_development_dependency "yard", "~> 0.9"
|
30
32
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: twilito
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Alex Ford
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-08-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -66,6 +66,20 @@ dependencies:
|
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '13.0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: rubocop
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
69
83
|
- !ruby/object:Gem::Dependency
|
70
84
|
name: webmock
|
71
85
|
requirement: !ruby/object:Gem::Requirement
|
@@ -80,9 +94,23 @@ dependencies:
|
|
80
94
|
- - "~>"
|
81
95
|
- !ruby/object:Gem::Version
|
82
96
|
version: '3'
|
83
|
-
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: yard
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - "~>"
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0.9'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - "~>"
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0.9'
|
111
|
+
description:
|
84
112
|
email:
|
85
|
-
-
|
113
|
+
- alexford@hey.com
|
86
114
|
executables: []
|
87
115
|
extensions: []
|
88
116
|
extra_rdoc_files: []
|
@@ -109,7 +137,7 @@ homepage: https://github.com/alexford/twilito
|
|
109
137
|
licenses:
|
110
138
|
- MIT
|
111
139
|
metadata: {}
|
112
|
-
post_install_message:
|
140
|
+
post_install_message:
|
113
141
|
rdoc_options: []
|
114
142
|
require_paths:
|
115
143
|
- lib
|
@@ -125,7 +153,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
125
153
|
version: '0'
|
126
154
|
requirements: []
|
127
155
|
rubygems_version: 3.0.3
|
128
|
-
signing_key:
|
156
|
+
signing_key:
|
129
157
|
specification_version: 4
|
130
158
|
summary: A tiny, zero dependency, and easy to test helper for sending text messages
|
131
159
|
with Twilio
|