mailerlite 1.14.0 → 1.16.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/workflows/test.yml +4 -4
- data/.rubocop.yml +2 -1
- data/LICENSE +1 -1
- data/README.md +1 -1
- data/lib/mailerlite/clients/subscribers.rb +11 -0
- data/lib/mailerlite/connection.rb +11 -6
- data/lib/mailerlite/middleware/fix_unparsed_json.rb +1 -1
- data/lib/mailerlite/middleware/raise_error.rb +1 -1
- data/lib/mailerlite/middleware/underscore_keys.rb +1 -1
- data/lib/mailerlite/version.rb +1 -1
- data/mailerlite.gemspec +8 -8
- metadata +32 -19
- data/.hound.yml +0 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a009f837f36ed5749857bf86c9d22427fbceebfa4df0861feebab4f663fef10f
|
4
|
+
data.tar.gz: 1b7897b35d0c650d3f766e3da293090e0c1243c5c30292c1cdfced2336994b0e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bc3931fc5b58197bfcb7c4a2e092a63fae6b03812b3a6a8757a4fa076c623b84845ecd064ed7fd250a70c7e50a07bab74c174b1be4dc9ddd7212233cf37a107d
|
7
|
+
data.tar.gz: c3b82f78d4c2b61ead778f00d559c5f728fed4630c0601de1c467f1a06d1d09a32eff9cddab2b5aade20010c9ac92e489b43cc980d425df569b1c405cbd6c467
|
data/.github/workflows/test.yml
CHANGED
@@ -7,12 +7,12 @@ jobs:
|
|
7
7
|
name: Test
|
8
8
|
strategy:
|
9
9
|
matrix:
|
10
|
-
ruby: [2.
|
10
|
+
ruby: [2.7, '3.0', 3.1, 3.2, head, truffleruby]
|
11
11
|
|
12
12
|
runs-on: ubuntu-latest
|
13
13
|
|
14
14
|
steps:
|
15
|
-
- uses: actions/checkout@
|
15
|
+
- uses: actions/checkout@v3
|
16
16
|
- name: Set up Ruby ${{ matrix.ruby }}
|
17
17
|
uses: ruby/setup-ruby@v1
|
18
18
|
with:
|
@@ -30,11 +30,11 @@ jobs:
|
|
30
30
|
runs-on: ubuntu-latest
|
31
31
|
|
32
32
|
steps:
|
33
|
-
- uses: actions/checkout@
|
33
|
+
- uses: actions/checkout@v3
|
34
34
|
- name: Set up Ruby
|
35
35
|
uses: ruby/setup-ruby@v1
|
36
36
|
with:
|
37
|
-
ruby-version:
|
37
|
+
ruby-version: 3.2
|
38
38
|
bundler-cache: true
|
39
39
|
- name: RuboCop
|
40
40
|
run: |
|
data/.rubocop.yml
CHANGED
data/LICENSE
CHANGED
data/README.md
CHANGED
@@ -60,10 +60,10 @@ 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.6.0
|
64
63
|
* Ruby 2.7.0
|
65
64
|
* Ruby 3.0.0
|
66
65
|
* Ruby 3.1.0
|
66
|
+
* Ruby 3.2.0
|
67
67
|
* Truffleruby
|
68
68
|
|
69
69
|
## License
|
@@ -59,6 +59,17 @@ module MailerLite
|
|
59
59
|
connection.put("subscribers/#{identifier}", options)
|
60
60
|
end
|
61
61
|
|
62
|
+
# Delete a Subscriber
|
63
|
+
#
|
64
|
+
# @see https://developers.mailerlite.com/docs/subscribers.html#delete-a-subscriber
|
65
|
+
# @param identifier [Integer,String] ID or email of subscriber.
|
66
|
+
#
|
67
|
+
# @raise [MailerLite::NotFound] when identifier doesnt exists
|
68
|
+
# @return [Boolean] successful response
|
69
|
+
def delete_subscriber(identifier)
|
70
|
+
connection.delete("subscribers/#{identifier}", return_body: false).success?
|
71
|
+
end
|
72
|
+
|
62
73
|
# Search for subscribers
|
63
74
|
#
|
64
75
|
# @see https://developers.mailerlite.com/v2/reference#search-for-subscribers
|
@@ -1,7 +1,8 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require 'faraday'
|
4
|
-
require '
|
4
|
+
require 'faraday/follow_redirects'
|
5
|
+
require 'faraday/mashify'
|
5
6
|
require 'json'
|
6
7
|
|
7
8
|
require 'mailerlite/mash'
|
@@ -30,8 +31,12 @@ module MailerLite
|
|
30
31
|
request(:post, path, {}, options).body
|
31
32
|
end
|
32
33
|
|
33
|
-
def delete(path, options = {})
|
34
|
-
|
34
|
+
def delete(path, options = { return_body: true })
|
35
|
+
return_body = options.delete(:return_body)
|
36
|
+
response = request(:delete, path, options)
|
37
|
+
return response.body || {} if return_body
|
38
|
+
|
39
|
+
response
|
35
40
|
end
|
36
41
|
|
37
42
|
private
|
@@ -70,11 +75,11 @@ module MailerLite
|
|
70
75
|
@middleware ||= Faraday::RackBuilder.new do |builder|
|
71
76
|
builder.request :json
|
72
77
|
|
73
|
-
builder.
|
74
|
-
builder.
|
78
|
+
builder.response :follow_redirects
|
79
|
+
builder.response :mashify, mash_class: MailerLite::Mash
|
75
80
|
builder.use MailerLite::Middleware::UnderscoreKeys
|
76
81
|
builder.use MailerLite::Middleware::RaiseError
|
77
|
-
builder.
|
82
|
+
builder.response :json
|
78
83
|
builder.use MailerLite::Middleware::FixUnparsedJson
|
79
84
|
|
80
85
|
builder.adapter Faraday.default_adapter
|
@@ -5,7 +5,7 @@ module MailerLite
|
|
5
5
|
module Middleware
|
6
6
|
# This class raises an exception based HTTP status codes returned
|
7
7
|
# by the API.
|
8
|
-
class RaiseError < Faraday::
|
8
|
+
class RaiseError < Faraday::Middleware
|
9
9
|
def on_complete(response)
|
10
10
|
error = MailerLite::Error.from_response(response)
|
11
11
|
raise error if error
|
@@ -3,7 +3,7 @@
|
|
3
3
|
module MailerLite
|
4
4
|
module Middleware
|
5
5
|
# This class will underscore all response keys from CamelCase.
|
6
|
-
class UnderscoreKeys < Faraday::
|
6
|
+
class UnderscoreKeys < Faraday::Middleware
|
7
7
|
def on_complete(response)
|
8
8
|
response[:body] = updated_response(response[:body])
|
9
9
|
end
|
data/lib/mailerlite/version.rb
CHANGED
data/mailerlite.gemspec
CHANGED
@@ -31,17 +31,17 @@ Gem::Specification.new do |spec|
|
|
31
31
|
spec.bindir = 'exe'
|
32
32
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
33
33
|
spec.require_paths = ['lib']
|
34
|
-
spec.required_ruby_version = '>= 2.
|
34
|
+
spec.required_ruby_version = '>= 2.7.0'
|
35
35
|
|
36
|
-
spec.add_dependency 'faraday', '~>
|
37
|
-
spec.add_dependency '
|
36
|
+
spec.add_dependency 'faraday', '~> 2.0', '>= 2.0.1'
|
37
|
+
spec.add_dependency 'faraday-follow_redirects', '~> 0.3'
|
38
|
+
spec.add_dependency 'faraday-mashify', '~> 0.1'
|
38
39
|
spec.add_dependency 'hashie', '>= 4', '< 6'
|
39
40
|
|
40
|
-
# spec.add_development_dependency 'codecov', '~> 0.2', '>= 0.2.12'
|
41
41
|
spec.add_development_dependency 'pry', '~> 0.14'
|
42
42
|
spec.add_development_dependency 'rake', '~> 13.0'
|
43
|
-
spec.add_development_dependency 'rspec', '~> 3.
|
44
|
-
spec.add_development_dependency 'rubocop', '~> 1.
|
45
|
-
spec.add_development_dependency 'simplecov', '~> 0.
|
46
|
-
spec.add_development_dependency 'webmock', '~> 3.
|
43
|
+
spec.add_development_dependency 'rspec', '~> 3.12'
|
44
|
+
spec.add_development_dependency 'rubocop', '~> 1.44'
|
45
|
+
spec.add_development_dependency 'simplecov', '~> 0.22'
|
46
|
+
spec.add_development_dependency 'webmock', '~> 3.18'
|
47
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.16.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Justas Palumickas
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2023-01-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
@@ -16,34 +16,48 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
19
|
+
version: '2.0'
|
20
20
|
- - ">="
|
21
21
|
- !ruby/object:Gem::Version
|
22
|
-
version:
|
22
|
+
version: 2.0.1
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
26
26
|
requirements:
|
27
27
|
- - "~>"
|
28
28
|
- !ruby/object:Gem::Version
|
29
|
-
version: '
|
29
|
+
version: '2.0'
|
30
30
|
- - ">="
|
31
31
|
- !ruby/object:Gem::Version
|
32
|
-
version:
|
32
|
+
version: 2.0.1
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
|
-
name:
|
34
|
+
name: faraday-follow_redirects
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|
36
36
|
requirements:
|
37
37
|
- - "~>"
|
38
38
|
- !ruby/object:Gem::Version
|
39
|
-
version: '
|
39
|
+
version: '0.3'
|
40
40
|
type: :runtime
|
41
41
|
prerelease: false
|
42
42
|
version_requirements: !ruby/object:Gem::Requirement
|
43
43
|
requirements:
|
44
44
|
- - "~>"
|
45
45
|
- !ruby/object:Gem::Version
|
46
|
-
version: '
|
46
|
+
version: '0.3'
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: faraday-mashify
|
49
|
+
requirement: !ruby/object:Gem::Requirement
|
50
|
+
requirements:
|
51
|
+
- - "~>"
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '0.1'
|
54
|
+
type: :runtime
|
55
|
+
prerelease: false
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
requirements:
|
58
|
+
- - "~>"
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
version: '0.1'
|
47
61
|
- !ruby/object:Gem::Dependency
|
48
62
|
name: hashie
|
49
63
|
requirement: !ruby/object:Gem::Requirement
|
@@ -98,56 +112,56 @@ dependencies:
|
|
98
112
|
requirements:
|
99
113
|
- - "~>"
|
100
114
|
- !ruby/object:Gem::Version
|
101
|
-
version: '3.
|
115
|
+
version: '3.12'
|
102
116
|
type: :development
|
103
117
|
prerelease: false
|
104
118
|
version_requirements: !ruby/object:Gem::Requirement
|
105
119
|
requirements:
|
106
120
|
- - "~>"
|
107
121
|
- !ruby/object:Gem::Version
|
108
|
-
version: '3.
|
122
|
+
version: '3.12'
|
109
123
|
- !ruby/object:Gem::Dependency
|
110
124
|
name: rubocop
|
111
125
|
requirement: !ruby/object:Gem::Requirement
|
112
126
|
requirements:
|
113
127
|
- - "~>"
|
114
128
|
- !ruby/object:Gem::Version
|
115
|
-
version: '1.
|
129
|
+
version: '1.44'
|
116
130
|
type: :development
|
117
131
|
prerelease: false
|
118
132
|
version_requirements: !ruby/object:Gem::Requirement
|
119
133
|
requirements:
|
120
134
|
- - "~>"
|
121
135
|
- !ruby/object:Gem::Version
|
122
|
-
version: '1.
|
136
|
+
version: '1.44'
|
123
137
|
- !ruby/object:Gem::Dependency
|
124
138
|
name: simplecov
|
125
139
|
requirement: !ruby/object:Gem::Requirement
|
126
140
|
requirements:
|
127
141
|
- - "~>"
|
128
142
|
- !ruby/object:Gem::Version
|
129
|
-
version: '0.
|
143
|
+
version: '0.22'
|
130
144
|
type: :development
|
131
145
|
prerelease: false
|
132
146
|
version_requirements: !ruby/object:Gem::Requirement
|
133
147
|
requirements:
|
134
148
|
- - "~>"
|
135
149
|
- !ruby/object:Gem::Version
|
136
|
-
version: '0.
|
150
|
+
version: '0.22'
|
137
151
|
- !ruby/object:Gem::Dependency
|
138
152
|
name: webmock
|
139
153
|
requirement: !ruby/object:Gem::Requirement
|
140
154
|
requirements:
|
141
155
|
- - "~>"
|
142
156
|
- !ruby/object:Gem::Version
|
143
|
-
version: '3.
|
157
|
+
version: '3.18'
|
144
158
|
type: :development
|
145
159
|
prerelease: false
|
146
160
|
version_requirements: !ruby/object:Gem::Requirement
|
147
161
|
requirements:
|
148
162
|
- - "~>"
|
149
163
|
- !ruby/object:Gem::Version
|
150
|
-
version: '3.
|
164
|
+
version: '3.18'
|
151
165
|
description: Ruby gem for MailerLite API v2
|
152
166
|
email:
|
153
167
|
- jpalumickas@gmail.com
|
@@ -158,7 +172,6 @@ files:
|
|
158
172
|
- ".github/dependabot.yml"
|
159
173
|
- ".github/workflows/test.yml"
|
160
174
|
- ".gitignore"
|
161
|
-
- ".hound.yml"
|
162
175
|
- ".rspec"
|
163
176
|
- ".rubocop.yml"
|
164
177
|
- CODE_OF_CONDUCT.md
|
@@ -215,7 +228,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
215
228
|
requirements:
|
216
229
|
- - ">="
|
217
230
|
- !ruby/object:Gem::Version
|
218
|
-
version: 2.
|
231
|
+
version: 2.7.0
|
219
232
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
220
233
|
requirements:
|
221
234
|
- - ">="
|
data/.hound.yml
DELETED