mailerlite 1.11.0 → 1.14.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/.github/dependabot.yml +11 -0
- data/.github/workflows/test.yml +9 -14
- data/.rubocop.yml +8 -1
- data/LICENSE +1 -1
- data/README.md +6 -3
- data/examples/subscribers.md +1 -1
- data/lib/mailerlite/connection.rb +16 -13
- data/lib/mailerlite/middleware/fix_unparsed_json.rb +3 -3
- data/lib/mailerlite/middleware/raise_error.rb +0 -2
- data/lib/mailerlite/middleware/underscore_keys.rb +2 -2
- data/lib/mailerlite/version.rb +1 -1
- data/mailerlite.gemspec +9 -8
- metadata +26 -32
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 160c12ea8fcf54bb088de19d641a27c4d80b78ab4585d3d4707a6f468c334797
|
4
|
+
data.tar.gz: 578cc65b1d1277a2f1460906001918bcd558f092173cf934b40d8668da920446
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f04b1e66aeb85f0c09c73f29617153e2d1ee1d9572b1f4a9857f3081c3420bb273146b8ebfd024e600c4c404c94c0233983ca486a02969d004fb0aead26b7993
|
7
|
+
data.tar.gz: 61471d6fa49c051ccf220ad048bf7e00c188583000499d297a90996076311e4335860d23afba849dd5bb0c65daf43d29d5076edb28ef93a2b35d67cf88ab56a3
|
data/.github/workflows/test.yml
CHANGED
@@ -7,20 +7,18 @@ jobs:
|
|
7
7
|
name: Test
|
8
8
|
strategy:
|
9
9
|
matrix:
|
10
|
-
ruby: [2.
|
10
|
+
ruby: [2.6, 2.7, '3.0', 3.1, head, truffleruby]
|
11
11
|
|
12
12
|
runs-on: ubuntu-latest
|
13
13
|
|
14
14
|
steps:
|
15
|
-
- uses: actions/checkout@
|
15
|
+
- uses: actions/checkout@v2
|
16
16
|
- name: Set up Ruby ${{ matrix.ruby }}
|
17
|
-
uses:
|
17
|
+
uses: ruby/setup-ruby@v1
|
18
18
|
with:
|
19
19
|
ruby-version: ${{ matrix.ruby }}
|
20
|
-
|
21
|
-
|
22
|
-
gem install bundler
|
23
|
-
bundle install --jobs 4 --retry 3
|
20
|
+
bundler-cache: true
|
21
|
+
|
24
22
|
- name: RSpec
|
25
23
|
env:
|
26
24
|
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
|
@@ -32,15 +30,12 @@ jobs:
|
|
32
30
|
runs-on: ubuntu-latest
|
33
31
|
|
34
32
|
steps:
|
35
|
-
- uses: actions/checkout@
|
33
|
+
- uses: actions/checkout@v2
|
36
34
|
- name: Set up Ruby
|
37
|
-
uses:
|
35
|
+
uses: ruby/setup-ruby@v1
|
38
36
|
with:
|
39
|
-
ruby-version:
|
40
|
-
|
41
|
-
run: |
|
42
|
-
gem install bundler
|
43
|
-
bundle install --jobs 4 --retry 3
|
37
|
+
ruby-version: '3.0'
|
38
|
+
bundler-cache: true
|
44
39
|
- name: RuboCop
|
45
40
|
run: |
|
46
41
|
bundle exec rubocop
|
data/.rubocop.yml
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
AllCops:
|
2
|
-
TargetRubyVersion: 2.
|
2
|
+
TargetRubyVersion: 2.6
|
3
|
+
NewCops: enable
|
3
4
|
|
4
5
|
Layout/ParameterAlignment:
|
5
6
|
Enabled: true
|
@@ -31,7 +32,13 @@ Style/DoubleNegation:
|
|
31
32
|
Exclude:
|
32
33
|
- 'lib/mailerlite/utils.rb'
|
33
34
|
|
35
|
+
Style/OptionalBooleanParameter:
|
36
|
+
Enabled: false
|
37
|
+
|
34
38
|
Metrics/BlockLength:
|
35
39
|
Exclude:
|
36
40
|
- '*.gemspec'
|
37
41
|
- 'spec/**/*_spec.rb'
|
42
|
+
|
43
|
+
Lint/MissingSuper:
|
44
|
+
Enabled: false
|
data/LICENSE
CHANGED
data/README.md
CHANGED
@@ -60,12 +60,15 @@ See more documentation in [examples][examples] directory.
|
|
60
60
|
This library aims to support and is [tested against][github_actions] the following Ruby
|
61
61
|
implementations:
|
62
62
|
|
63
|
-
* Ruby 2.5.0
|
64
63
|
* Ruby 2.6.0
|
65
64
|
* Ruby 2.7.0
|
65
|
+
* Ruby 3.0.0
|
66
|
+
* Ruby 3.1.0
|
67
|
+
* Truffleruby
|
66
68
|
|
67
|
-
##
|
68
|
-
|
69
|
+
## License
|
70
|
+
|
71
|
+
The gem is available as open source under the terms of the [MIT License][license].
|
69
72
|
|
70
73
|
[rubygems]: https://rubygems.org/gems/mailerlite
|
71
74
|
[codecov]: https://codecov.io/gh/jpalumickas/mailerlite-ruby
|
data/examples/subscribers.md
CHANGED
@@ -37,25 +37,17 @@ module MailerLite
|
|
37
37
|
private
|
38
38
|
|
39
39
|
def request(method, path, query_params = {}, body_params = {})
|
40
|
-
|
41
|
-
request.
|
42
|
-
request.
|
43
|
-
|
44
|
-
if client.config.api_key
|
45
|
-
request.headers['X-MailerLite-ApiKey'] = client.config.api_key
|
46
|
-
end
|
47
|
-
|
48
|
-
request.body = body_params.to_json
|
40
|
+
connection.send(method, path) do |request|
|
41
|
+
request.params = query_params unless query_params.empty?
|
42
|
+
request.body = body_params.to_json unless body_params.empty?
|
49
43
|
end
|
50
|
-
|
51
|
-
response
|
52
44
|
end
|
53
45
|
|
54
46
|
def connection
|
55
47
|
conn_opts = {
|
56
|
-
headers: { user_agent: client.config.user_agent },
|
57
48
|
url: client.config.url,
|
58
|
-
builder: middleware
|
49
|
+
builder: middleware,
|
50
|
+
headers: headers
|
59
51
|
}
|
60
52
|
timeout = client.config.timeout
|
61
53
|
conn_opts[:request] = { timeout: timeout } unless timeout.nil?
|
@@ -63,6 +55,17 @@ module MailerLite
|
|
63
55
|
Faraday.new(conn_opts)
|
64
56
|
end
|
65
57
|
|
58
|
+
def headers
|
59
|
+
headers = {
|
60
|
+
'User-Agent' => client.config.user_agent,
|
61
|
+
'Content-Type' => 'application/json'
|
62
|
+
}
|
63
|
+
|
64
|
+
headers['X-MailerLite-ApiKey'] = client.config.api_key if client.config.api_key
|
65
|
+
|
66
|
+
headers
|
67
|
+
end
|
68
|
+
|
66
69
|
def middleware
|
67
70
|
@middleware ||= Faraday::RackBuilder.new do |builder|
|
68
71
|
builder.request :json
|
@@ -4,10 +4,10 @@ module MailerLite
|
|
4
4
|
module Middleware
|
5
5
|
# This middleware will convert empty response to {}
|
6
6
|
class FixUnparsedJson < Faraday::Response::Middleware
|
7
|
-
|
7
|
+
def parse(body)
|
8
|
+
return '{}' if body == ''
|
8
9
|
|
9
|
-
|
10
|
-
response[:body] = {} if response[:body] == ''
|
10
|
+
body
|
11
11
|
end
|
12
12
|
end
|
13
13
|
end
|
@@ -6,8 +6,6 @@ module MailerLite
|
|
6
6
|
# This class raises an exception based HTTP status codes returned
|
7
7
|
# by the API.
|
8
8
|
class RaiseError < Faraday::Response::Middleware
|
9
|
-
private
|
10
|
-
|
11
9
|
def on_complete(response)
|
12
10
|
error = MailerLite::Error.from_response(response)
|
13
11
|
raise error if error
|
@@ -4,12 +4,12 @@ module MailerLite
|
|
4
4
|
module Middleware
|
5
5
|
# This class will underscore all response keys from CamelCase.
|
6
6
|
class UnderscoreKeys < Faraday::Response::Middleware
|
7
|
-
private
|
8
|
-
|
9
7
|
def on_complete(response)
|
10
8
|
response[:body] = updated_response(response[:body])
|
11
9
|
end
|
12
10
|
|
11
|
+
private
|
12
|
+
|
13
13
|
def updated_response(response)
|
14
14
|
if response.is_a?(Hash)
|
15
15
|
underscore_hash_keys(response)
|
data/lib/mailerlite/version.rb
CHANGED
data/mailerlite.gemspec
CHANGED
@@ -15,6 +15,7 @@ Gem::Specification.new do |spec|
|
|
15
15
|
spec.homepage = 'https://github.com/jpalumickas/mailerlite-ruby'
|
16
16
|
|
17
17
|
spec.metadata = {
|
18
|
+
'rubygems_mfa_required' => 'true',
|
18
19
|
'bug_tracker_uri' => 'https://github.com/jpalumickas/mailerlite-ruby/issues',
|
19
20
|
'changelog_uri' => 'https://github.com/jpalumickas/mailerlite-ruby/releases',
|
20
21
|
'documentation_uri' => 'https://github.com/jpalumickas/mailerlite-ruby/tree/master/examples',
|
@@ -30,17 +31,17 @@ Gem::Specification.new do |spec|
|
|
30
31
|
spec.bindir = 'exe'
|
31
32
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
32
33
|
spec.require_paths = ['lib']
|
33
|
-
spec.required_ruby_version = '>= 2.
|
34
|
+
spec.required_ruby_version = '>= 2.6.0'
|
34
35
|
|
35
36
|
spec.add_dependency 'faraday', '~> 1.0', '>= 1.0.1'
|
36
37
|
spec.add_dependency 'faraday_middleware', '~> 1.0'
|
37
|
-
spec.add_dependency 'hashie', '>=
|
38
|
+
spec.add_dependency 'hashie', '>= 4', '< 6'
|
38
39
|
|
39
|
-
spec.add_development_dependency 'codecov', '~> 0.
|
40
|
-
spec.add_development_dependency 'pry', '~> 0.
|
40
|
+
# spec.add_development_dependency 'codecov', '~> 0.2', '>= 0.2.12'
|
41
|
+
spec.add_development_dependency 'pry', '~> 0.14'
|
41
42
|
spec.add_development_dependency 'rake', '~> 13.0'
|
42
|
-
spec.add_development_dependency 'rspec', '~> 3.
|
43
|
-
spec.add_development_dependency 'rubocop', '~>
|
44
|
-
spec.add_development_dependency 'simplecov', '~> 0.
|
45
|
-
spec.add_development_dependency 'webmock', '~> 3.
|
43
|
+
spec.add_development_dependency 'rspec', '~> 3.10'
|
44
|
+
spec.add_development_dependency 'rubocop', '~> 1.24'
|
45
|
+
spec.add_development_dependency 'simplecov', '~> 0.21'
|
46
|
+
spec.add_development_dependency 'webmock', '~> 3.14'
|
46
47
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mailerlite
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.14.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Justas Palumickas
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-01-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
@@ -50,42 +50,34 @@ dependencies:
|
|
50
50
|
requirements:
|
51
51
|
- - ">="
|
52
52
|
- !ruby/object:Gem::Version
|
53
|
-
version:
|
53
|
+
version: '4'
|
54
|
+
- - "<"
|
55
|
+
- !ruby/object:Gem::Version
|
56
|
+
version: '6'
|
54
57
|
type: :runtime
|
55
58
|
prerelease: false
|
56
59
|
version_requirements: !ruby/object:Gem::Requirement
|
57
60
|
requirements:
|
58
61
|
- - ">="
|
59
62
|
- !ruby/object:Gem::Version
|
60
|
-
version:
|
61
|
-
-
|
62
|
-
name: codecov
|
63
|
-
requirement: !ruby/object:Gem::Requirement
|
64
|
-
requirements:
|
65
|
-
- - "~>"
|
66
|
-
- !ruby/object:Gem::Version
|
67
|
-
version: '0.1'
|
68
|
-
type: :development
|
69
|
-
prerelease: false
|
70
|
-
version_requirements: !ruby/object:Gem::Requirement
|
71
|
-
requirements:
|
72
|
-
- - "~>"
|
63
|
+
version: '4'
|
64
|
+
- - "<"
|
73
65
|
- !ruby/object:Gem::Version
|
74
|
-
version: '
|
66
|
+
version: '6'
|
75
67
|
- !ruby/object:Gem::Dependency
|
76
68
|
name: pry
|
77
69
|
requirement: !ruby/object:Gem::Requirement
|
78
70
|
requirements:
|
79
71
|
- - "~>"
|
80
72
|
- !ruby/object:Gem::Version
|
81
|
-
version: '0.
|
73
|
+
version: '0.14'
|
82
74
|
type: :development
|
83
75
|
prerelease: false
|
84
76
|
version_requirements: !ruby/object:Gem::Requirement
|
85
77
|
requirements:
|
86
78
|
- - "~>"
|
87
79
|
- !ruby/object:Gem::Version
|
88
|
-
version: '0.
|
80
|
+
version: '0.14'
|
89
81
|
- !ruby/object:Gem::Dependency
|
90
82
|
name: rake
|
91
83
|
requirement: !ruby/object:Gem::Requirement
|
@@ -106,56 +98,56 @@ dependencies:
|
|
106
98
|
requirements:
|
107
99
|
- - "~>"
|
108
100
|
- !ruby/object:Gem::Version
|
109
|
-
version: '3.
|
101
|
+
version: '3.10'
|
110
102
|
type: :development
|
111
103
|
prerelease: false
|
112
104
|
version_requirements: !ruby/object:Gem::Requirement
|
113
105
|
requirements:
|
114
106
|
- - "~>"
|
115
107
|
- !ruby/object:Gem::Version
|
116
|
-
version: '3.
|
108
|
+
version: '3.10'
|
117
109
|
- !ruby/object:Gem::Dependency
|
118
110
|
name: rubocop
|
119
111
|
requirement: !ruby/object:Gem::Requirement
|
120
112
|
requirements:
|
121
113
|
- - "~>"
|
122
114
|
- !ruby/object:Gem::Version
|
123
|
-
version: '
|
115
|
+
version: '1.24'
|
124
116
|
type: :development
|
125
117
|
prerelease: false
|
126
118
|
version_requirements: !ruby/object:Gem::Requirement
|
127
119
|
requirements:
|
128
120
|
- - "~>"
|
129
121
|
- !ruby/object:Gem::Version
|
130
|
-
version: '
|
122
|
+
version: '1.24'
|
131
123
|
- !ruby/object:Gem::Dependency
|
132
124
|
name: simplecov
|
133
125
|
requirement: !ruby/object:Gem::Requirement
|
134
126
|
requirements:
|
135
127
|
- - "~>"
|
136
128
|
- !ruby/object:Gem::Version
|
137
|
-
version: '0.
|
129
|
+
version: '0.21'
|
138
130
|
type: :development
|
139
131
|
prerelease: false
|
140
132
|
version_requirements: !ruby/object:Gem::Requirement
|
141
133
|
requirements:
|
142
134
|
- - "~>"
|
143
135
|
- !ruby/object:Gem::Version
|
144
|
-
version: '0.
|
136
|
+
version: '0.21'
|
145
137
|
- !ruby/object:Gem::Dependency
|
146
138
|
name: webmock
|
147
139
|
requirement: !ruby/object:Gem::Requirement
|
148
140
|
requirements:
|
149
141
|
- - "~>"
|
150
142
|
- !ruby/object:Gem::Version
|
151
|
-
version: '3.
|
143
|
+
version: '3.14'
|
152
144
|
type: :development
|
153
145
|
prerelease: false
|
154
146
|
version_requirements: !ruby/object:Gem::Requirement
|
155
147
|
requirements:
|
156
148
|
- - "~>"
|
157
149
|
- !ruby/object:Gem::Version
|
158
|
-
version: '3.
|
150
|
+
version: '3.14'
|
159
151
|
description: Ruby gem for MailerLite API v2
|
160
152
|
email:
|
161
153
|
- jpalumickas@gmail.com
|
@@ -163,6 +155,7 @@ executables: []
|
|
163
155
|
extensions: []
|
164
156
|
extra_rdoc_files: []
|
165
157
|
files:
|
158
|
+
- ".github/dependabot.yml"
|
166
159
|
- ".github/workflows/test.yml"
|
167
160
|
- ".gitignore"
|
168
161
|
- ".hound.yml"
|
@@ -209,11 +202,12 @@ homepage: https://github.com/jpalumickas/mailerlite-ruby
|
|
209
202
|
licenses:
|
210
203
|
- MIT
|
211
204
|
metadata:
|
205
|
+
rubygems_mfa_required: 'true'
|
212
206
|
bug_tracker_uri: https://github.com/jpalumickas/mailerlite-ruby/issues
|
213
207
|
changelog_uri: https://github.com/jpalumickas/mailerlite-ruby/releases
|
214
208
|
documentation_uri: https://github.com/jpalumickas/mailerlite-ruby/tree/master/examples
|
215
209
|
source_code_uri: https://github.com/jpalumickas/mailerlite-ruby
|
216
|
-
post_install_message:
|
210
|
+
post_install_message:
|
217
211
|
rdoc_options: []
|
218
212
|
require_paths:
|
219
213
|
- lib
|
@@ -221,15 +215,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
221
215
|
requirements:
|
222
216
|
- - ">="
|
223
217
|
- !ruby/object:Gem::Version
|
224
|
-
version: 2.
|
218
|
+
version: 2.6.0
|
225
219
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
226
220
|
requirements:
|
227
221
|
- - ">="
|
228
222
|
- !ruby/object:Gem::Version
|
229
223
|
version: '0'
|
230
224
|
requirements: []
|
231
|
-
rubygems_version: 3.
|
232
|
-
signing_key:
|
225
|
+
rubygems_version: 3.2.32
|
226
|
+
signing_key:
|
233
227
|
specification_version: 4
|
234
228
|
summary: Ruby wrapper for MailerLite API v2
|
235
229
|
test_files: []
|