mailerlite 1.11.0 → 1.14.0

Sign up to get free protection for your applications and to get access to all the features.
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: []