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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2dcd1b8e536bbbea68b629b9b8d61c767dd9fba389fbaa8c47ae1f9a3d32fc4c
4
- data.tar.gz: 2b54a9064e4ac99c9b0609f1a48ab5147007fa0d988d5d7fc073476a2fdc2349
3
+ metadata.gz: b2f08b5829f031adf3297cd2affd3098a5ea36ab6b6f4afad2e6c7c3b252cc41
4
+ data.tar.gz: 3bdc3c6ad79ab22d5eaa8eddae4bde8843598b0769a54ff4318409bf0505c66b
5
5
  SHA512:
6
- metadata.gz: 01a8a88dd16eb2cdc4c226bbd51a1d6f74f563d713616144eb74a372eb83650f19bc57a31c52239747bce0080bd2625c975cce20fa76821cf7e2374a13e70f6b
7
- data.tar.gz: 60bceaf8bd2779ecf996e4de2b5ae6d5dfff56f489eda670911d5c2b9a184169dca0d5dc7a6502d32ead29feb2df5aba7d97771b0bc3149d6d8a600404b1c998
6
+ metadata.gz: 7a2da6ec5bd1cd861dc537868dcdec42e1820fd9813420b2b6ae70994f901dad1c032dd088334b89e2d8466d6905cd648770a6448b032e87c775e68ab1051268
7
+ data.tar.gz: 2a8286b6f3de32eb14c81608b0beba3502759c2ea1c25c6d6441d72b2f16674333937e3c6b6f300994ba52ac35b763d1da2ffb04b68ca54782d983f0dde5d6f1
@@ -15,7 +15,6 @@ jobs:
15
15
  uses: actions/setup-ruby@v1
16
16
  with:
17
17
  ruby-version: ${{ matrix.ruby }}
18
- architecture: 'x64'
19
18
  - name: Run tests
20
19
  run: |
21
20
  gem install bundler
data/.gitignore CHANGED
@@ -1,9 +1,10 @@
1
1
  /.bundle/
2
2
  /.yardoc
3
3
  /_yardoc/
4
+ /docs/
4
5
  /coverage/
5
- /doc/
6
6
  /pkg/
7
7
  /tmp/
8
8
 
9
- .ruby-version
9
+ .ruby-version
10
+ .DS_Store
@@ -1,29 +1,50 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- twilito (0.3.0)
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 struct
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
- _TODO_
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
@@ -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
@@ -1,17 +1,22 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Twilito
4
- Result = Struct.new(:success, :errors, :sid, :response) do
4
+ class Result
5
+ attr_reader :success, :errors, :sid, :response
6
+
5
7
  def initialize(success:, errors: [], sid: nil, response: nil)
6
- super(success, errors, sid, response)
8
+ @success = success
9
+ @errors = errors
10
+ @sid = sid
11
+ @response = response
7
12
  end
8
13
 
9
- def self.success(**args)
10
- new(success: true, **args)
14
+ def self.success(response:, sid:)
15
+ new(success: true, response: response, sid: sid)
11
16
  end
12
17
 
13
- def self.failure(**args)
14
- new(success: false, **args)
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
- to_h[:success] || false
27
+ success || false
23
28
  end
24
29
 
25
30
  private
26
31
 
27
32
  def response_body
28
- return nil unless to_h[:response]&.respond_to?(:read_body)
33
+ return nil unless response&.respond_to?(:read_body)
29
34
 
30
- to_h[:response].read_body
35
+ response.read_body
31
36
  end
32
37
  end
33
38
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Twilito
4
- VERSION = "0.3.0"
4
+ VERSION = "0.3.1"
5
5
  end
@@ -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 = ["alexford87@me.com"]
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.0
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-05-27 00:00:00.000000000 Z
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
- description:
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
- - alexford87@me.com
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