mailerlite 1.14.0 → 1.16.0
Sign up to get free protection for your applications and to get access to all the features.
- 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