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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2566cc48dc509e5ae5b9984347813da13573ab846edb846e498d54188fb92b3e
4
- data.tar.gz: 7a7006913f5787884709151a9f32fcd9b9ffc5463951e132a8aa074e6d32da40
3
+ metadata.gz: 160c12ea8fcf54bb088de19d641a27c4d80b78ab4585d3d4707a6f468c334797
4
+ data.tar.gz: 578cc65b1d1277a2f1460906001918bcd558f092173cf934b40d8668da920446
5
5
  SHA512:
6
- metadata.gz: 32ed1cef86c7256be4d286199ef4e0bd76e48664866189bdab9e08338ebf86bc4fc0726453b866ae913719072560582d1993f27699f2920ef30adc37acc1a229
7
- data.tar.gz: aad3f7cd3244010bd9bd2826e7ff8743fee62d97252572b605ccc9e58384f43f994317a7c68f013c03c5ccd96727ce04d4cbc9b34794790139736ccde057dbfa
6
+ metadata.gz: f04b1e66aeb85f0c09c73f29617153e2d1ee1d9572b1f4a9857f3081c3420bb273146b8ebfd024e600c4c404c94c0233983ca486a02969d004fb0aead26b7993
7
+ data.tar.gz: 61471d6fa49c051ccf220ad048bf7e00c188583000499d297a90996076311e4335860d23afba849dd5bb0c65daf43d29d5076edb28ef93a2b35d67cf88ab56a3
@@ -0,0 +1,11 @@
1
+ version: 2
2
+ updates:
3
+ - package-ecosystem: "bundler"
4
+ directory: "/"
5
+ schedule:
6
+ interval: "daily"
7
+
8
+ - package-ecosystem: "github-actions"
9
+ directory: "/"
10
+ schedule:
11
+ interval: "daily"
@@ -7,20 +7,18 @@ jobs:
7
7
  name: Test
8
8
  strategy:
9
9
  matrix:
10
- ruby: [2.5, 2.6, 2.7]
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@v1
15
+ - uses: actions/checkout@v2
16
16
  - name: Set up Ruby ${{ matrix.ruby }}
17
- uses: actions/setup-ruby@v1
17
+ uses: ruby/setup-ruby@v1
18
18
  with:
19
19
  ruby-version: ${{ matrix.ruby }}
20
- - name: Install dependencies
21
- run: |
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@v1
33
+ - uses: actions/checkout@v2
36
34
  - name: Set up Ruby
37
- uses: actions/setup-ruby@v1
35
+ uses: ruby/setup-ruby@v1
38
36
  with:
39
- ruby-version: 2.7
40
- - name: Install dependencies
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.5
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
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2020 Justas Palumickas
3
+ Copyright (c) 2022 Justas Palumickas
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
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
- ## Copyright
68
- Copyright (c) 2020 Justas Palumickas. See [LICENSE][github_actions] for details.
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
@@ -33,7 +33,7 @@ client.create_subscriber(email: 'john@example.com', name: 'John Smith')
33
33
  ## Update single subscriber
34
34
 
35
35
  ```ruby
36
- client.update_subscriber(subscriber_id options)
36
+ client.update_subscriber(subscriber_id, options)
37
37
  ```
38
38
 
39
39
  or with email
@@ -37,25 +37,17 @@ module MailerLite
37
37
  private
38
38
 
39
39
  def request(method, path, query_params = {}, body_params = {})
40
- response = connection.send(method) do |request|
41
- request.url(path, query_params)
42
- request.headers['Content-Type'] = 'application/json'
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
- private
7
+ def parse(body)
8
+ return '{}' if body == ''
8
9
 
9
- def on_complete(response)
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)
@@ -2,5 +2,5 @@
2
2
 
3
3
  module MailerLite
4
4
  # @return [String] Version number.
5
- VERSION = '1.11.0'
5
+ VERSION = '1.14.0'
6
6
  end
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.5.0'
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', '>= 3.5.5'
38
+ spec.add_dependency 'hashie', '>= 4', '< 6'
38
39
 
39
- spec.add_development_dependency 'codecov', '~> 0.1'
40
- spec.add_development_dependency 'pry', '~> 0.13'
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.9'
43
- spec.add_development_dependency 'rubocop', '~> 0.82'
44
- spec.add_development_dependency 'simplecov', '~> 0.18'
45
- spec.add_development_dependency 'webmock', '~> 3.8'
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.11.0
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: 2020-04-23 00:00:00.000000000 Z
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: 3.5.5
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: 3.5.5
61
- - !ruby/object:Gem::Dependency
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: '0.1'
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.13'
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.13'
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.9'
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.9'
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: '0.82'
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: '0.82'
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.18'
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.18'
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.8'
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.8'
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.5.0
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.1.2
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: []