mailerlite 1.8.0 → 1.13.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: 5d8ec3996831a0bb8c319fb16ef3b2b75d6240f867295c526cd80d58ac62362d
4
- data.tar.gz: 6508011451874fa5915283979cad2aa5f048a5b4f98e06c7d797e0d337e4087a
3
+ metadata.gz: 359210ce363c788f0ad34e533a7d50a9a919f19da5bad287e6515257cad743b2
4
+ data.tar.gz: 1ce825edb310b2c63fa9c7d764c15ddfdf6996d344fafdc618af2c036ca1510d
5
5
  SHA512:
6
- metadata.gz: f3096b6e2073d225eba40df4dfd77baed6b6fe0f969a0e5854e27ca284dfa8c52da8cbaa224b9029d15142e869399446ff8041a9d71f5615ab8fac9783cff9ed
7
- data.tar.gz: d290bcc41abc81d5278a8111323f4425ccb31b66df3f010c5cf333973b493f68b3af0f259f4de96ad041694c241c010cf5f9224b6ca06c6bde424358e693623b
6
+ metadata.gz: d8e88a6dcd36f6bd11c64fd3fadf3ca20a19408097a9ecb860d94645d0cc804cfd434768bf31ec000333407118b2a59da5032d01cabbaa7ccaa6703121898c90
7
+ data.tar.gz: f33f19f0b3bab8bba2dd540ba29000e6c34119e20aca63ea088b17f7cfc9bc3624117440435eba5d56c0c82d057b64ee2502b3831eb640f3af3d6020c279e2c8
@@ -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"
@@ -0,0 +1,46 @@
1
+ name: Test
2
+
3
+ on: [push]
4
+
5
+ jobs:
6
+ test:
7
+ name: Test
8
+ strategy:
9
+ matrix:
10
+ ruby: [2.5, 2.6, 2.7, '3.0', head, truffleruby]
11
+
12
+ runs-on: ubuntu-latest
13
+
14
+ steps:
15
+ - uses: actions/checkout@v2
16
+ - name: Set up Ruby ${{ matrix.ruby }}
17
+ uses: ruby/setup-ruby@v1
18
+ with:
19
+ ruby-version: ${{ matrix.ruby }}
20
+ bundler-cache: true
21
+
22
+ - name: RSpec
23
+ env:
24
+ CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
25
+ run: |
26
+ bundle exec rspec
27
+
28
+ rubocop:
29
+ name: RuboCop
30
+ runs-on: ubuntu-latest
31
+
32
+ steps:
33
+ - uses: actions/checkout@v2.3.4
34
+ - name: Set up Ruby
35
+ uses: ruby/setup-ruby@v1
36
+ with:
37
+ ruby-version: '3.0'
38
+ bundler-cache: true
39
+
40
+ - name: Install dependencies
41
+ run: |
42
+ gem install bundler
43
+ bundle install --jobs 4 --retry 3
44
+ - name: RuboCop
45
+ run: |
46
+ bundle exec rubocop
@@ -1,7 +1,8 @@
1
1
  AllCops:
2
- TargetRubyVersion: 2.2
2
+ TargetRubyVersion: 2.5
3
+ NewCops: enable
3
4
 
4
- Layout/AlignParameters:
5
+ Layout/ParameterAlignment:
5
6
  Enabled: true
6
7
  EnforcedStyle: with_fixed_indentation
7
8
 
@@ -31,6 +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:
40
+ - '*.gemspec'
36
41
  - 'spec/**/*_spec.rb'
42
+
43
+ Lint/MissingSuper:
44
+ Enabled: false
@@ -0,0 +1,76 @@
1
+ # Contributor Covenant Code of Conduct
2
+
3
+ ## Our Pledge
4
+
5
+ In the interest of fostering an open and welcoming environment, we as
6
+ contributors and maintainers pledge to making participation in our project and
7
+ our community a harassment-free experience for everyone, regardless of age, body
8
+ size, disability, ethnicity, sex characteristics, gender identity and expression,
9
+ level of experience, education, socio-economic status, nationality, personal
10
+ appearance, race, religion, or sexual identity and orientation.
11
+
12
+ ## Our Standards
13
+
14
+ Examples of behavior that contributes to creating a positive environment
15
+ include:
16
+
17
+ * Using welcoming and inclusive language
18
+ * Being respectful of differing viewpoints and experiences
19
+ * Gracefully accepting constructive criticism
20
+ * Focusing on what is best for the community
21
+ * Showing empathy towards other community members
22
+
23
+ Examples of unacceptable behavior by participants include:
24
+
25
+ * The use of sexualized language or imagery and unwelcome sexual attention or
26
+ advances
27
+ * Trolling, insulting/derogatory comments, and personal or political attacks
28
+ * Public or private harassment
29
+ * Publishing others' private information, such as a physical or electronic
30
+ address, without explicit permission
31
+ * Other conduct which could reasonably be considered inappropriate in a
32
+ professional setting
33
+
34
+ ## Our Responsibilities
35
+
36
+ Project maintainers are responsible for clarifying the standards of acceptable
37
+ behavior and are expected to take appropriate and fair corrective action in
38
+ response to any instances of unacceptable behavior.
39
+
40
+ Project maintainers have the right and responsibility to remove, edit, or
41
+ reject comments, commits, code, wiki edits, issues, and other contributions
42
+ that are not aligned to this Code of Conduct, or to ban temporarily or
43
+ permanently any contributor for other behaviors that they deem inappropriate,
44
+ threatening, offensive, or harmful.
45
+
46
+ ## Scope
47
+
48
+ This Code of Conduct applies both within project spaces and in public spaces
49
+ when an individual is representing the project or its community. Examples of
50
+ representing a project or community include using an official project e-mail
51
+ address, posting via an official social media account, or acting as an appointed
52
+ representative at an online or offline event. Representation of a project may be
53
+ further defined and clarified by project maintainers.
54
+
55
+ ## Enforcement
56
+
57
+ Instances of abusive, harassing, or otherwise unacceptable behavior may be
58
+ reported by contacting the project team at jpalumickas@gmail.com. All
59
+ complaints will be reviewed and investigated and will result in a response that
60
+ is deemed necessary and appropriate to the circumstances. The project team is
61
+ obligated to maintain confidentiality with regard to the reporter of an incident.
62
+ Further details of specific enforcement policies may be posted separately.
63
+
64
+ Project maintainers who do not follow or enforce the Code of Conduct in good
65
+ faith may face temporary or permanent repercussions as determined by other
66
+ members of the project's leadership.
67
+
68
+ ## Attribution
69
+
70
+ This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
71
+ available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
72
+
73
+ [homepage]: https://www.contributor-covenant.org
74
+
75
+ For answers to common questions about this code of conduct, see
76
+ https://www.contributor-covenant.org/faq
data/Gemfile CHANGED
@@ -1,18 +1,5 @@
1
- source 'https://rubygems.org'
2
-
3
- group :development do
4
- gem 'rubocop', '~> 0.63'
5
- end
1
+ # frozen_string_literal: true
6
2
 
7
- group :development, :test do
8
- gem 'pry'
9
- end
10
-
11
- group :test do
12
- gem 'rake' # For Travis CI
13
- gem 'rspec', '~> 3.8'
14
- gem 'simplecov', '~> 0.16', require: false
15
- gem 'webmock', '~> 3.5'
16
- end
3
+ source 'https://rubygems.org'
17
4
 
18
5
  gemspec
data/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2019 Justas Palumickas
3
+ Copyright (c) 2020 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
@@ -3,9 +3,7 @@
3
3
  A Ruby gem which helps to communicate with [MailerLite][mailerlite] API.
4
4
 
5
5
  [![Gem Version](https://img.shields.io/gem/v/mailerlite.svg?style=flat-square)][rubygems]
6
- [![Build Status](https://img.shields.io/travis/jpalumickas/mailerlite-ruby.svg?style=flat-square)][travis]
7
- [![Code Climate](https://img.shields.io/codeclimate/maintainability/jpalumickas/mailerlite-ruby.svg?style=flat-square)][codeclimate]
8
- [![Test Coverage](https://img.shields.io/codeclimate/c/jpalumickas/mailerlite-ruby.svg?style=flat-square)][codeclimate_coverage]
6
+ [![Coverage Status](https://img.shields.io/codecov/c/github/jpalumickas/mailerlite-ruby?style=flat-square)][codecov]
9
7
 
10
8
  ## Installation
11
9
 
@@ -34,7 +32,7 @@ client = MailerLite::Client.new(api_key: 'my-secret-api-key')
34
32
  Example:
35
33
 
36
34
  ```ruby
37
- client.campaigns
35
+ client.groups
38
36
  ```
39
37
 
40
38
  Or create file under `config/initializers/mailerlite.rb`
@@ -42,6 +40,7 @@ Or create file under `config/initializers/mailerlite.rb`
42
40
  ```ruby
43
41
  MailerLite.configure do |config|
44
42
  config.api_key = 'my-secret-api-key'
43
+ # config.timeout = 10
45
44
  end
46
45
  ```
47
46
 
@@ -58,22 +57,22 @@ See more documentation in [examples][examples] directory.
58
57
 
59
58
  ## Supported Ruby Versions
60
59
 
61
- This library aims to support and is [tested against][travis] the following Ruby
60
+ This library aims to support and is [tested against][github_actions] the following Ruby
62
61
  implementations:
63
62
 
64
- * Ruby 2.2.0
65
- * Ruby 2.3.0
66
- * Ruby 2.4.0
67
63
  * Ruby 2.5.0
68
64
  * Ruby 2.6.0
65
+ * Ruby 2.7.0
66
+ * Ruby 3.0.0
67
+ * Truffleruby
69
68
 
70
- ## Copyright
71
- Copyright (c) 2019 Justas Palumickas. See [LICENSE][license] for details.
69
+ ## License
70
+
71
+ The gem is available as open source under the terms of the [MIT License][license].
72
72
 
73
73
  [rubygems]: https://rubygems.org/gems/mailerlite
74
- [travis]: https://travis-ci.org/jpalumickas/mailerlite-ruby
75
- [codeclimate]: https://codeclimate.com/github/jpalumickas/mailerlite-ruby
76
- [codeclimate_coverage]: https://codeclimate.com/github/jpalumickas/mailerlite-ruby/test_coverage
74
+ [codecov]: https://codecov.io/gh/jpalumickas/mailerlite-ruby
75
+ [github_actions]: https://github.com/jpalumickas/mailerlite-ruby/actions
77
76
 
78
77
  [license]: https://raw.githubusercontent.com/jpalumickas/mailerlite-ruby/master/LICENSE
79
78
  [create_a_campaign]: https://raw.githubusercontent.com/jpalumickas/mailerlite-ruby/master/examples/create_campaign.md
@@ -13,7 +13,7 @@ client = MailerLite::Client.new(api_key: 'my-secret-api-key')
13
13
  Example:
14
14
 
15
15
  ```ruby
16
- client.campaigns
16
+ client.groups
17
17
  ```
18
18
 
19
19
  ## Using global class config
@@ -32,7 +32,7 @@ on `MailerLite` class directly.
32
32
  Example:
33
33
 
34
34
  ```ruby
35
- MailerLite.campaigns
35
+ MailerLite.groups
36
36
  ```
37
37
 
38
38
  [mailerlite]: https://www.mailerlite.com
@@ -33,8 +33,8 @@ html = "<div>Welcome,<br /><a href=\"{$unsubscribe}\">Unsubscribe</a></div>"
33
33
  plain_text = 'Welcome, {$unsubscribe} {$url}'
34
34
  client.update_campaign_content(campaign.id, html: html, plain: plain_text )
35
35
  ```
36
- `${url}` must be exist in plain text.
37
- `${unsubscribe}` must be exist in both plain text and html. See the [API documentation](http://developers.mailerlite.com/reference#put-custom-content-to-campaign).
36
+ `{$url}` must be exist in plain text.
37
+ `{$unsubscribe}` must be exist in both plain text and html. See the [API documentation](http://developers.mailerlite.com/reference#put-custom-content-to-campaign).
38
38
 
39
39
  ##6. Send the campaign
40
40
  ```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
@@ -26,8 +26,11 @@ module MailerLite
26
26
  #
27
27
  # @param options [Hash] A customizable set of options.
28
28
  # @option options [String] :api_key API Key provider from MailerLite.
29
+ # @option options [String] :timeout optional open/read timeout Integer in
30
+ # seconds
29
31
  def initialize(options = {})
30
32
  config.api_key = options[:api_key] if options[:api_key]
33
+ config.timeout = options[:timeout] if options[:timeout]
31
34
  end
32
35
 
33
36
  # @return [Configuration]
@@ -11,7 +11,7 @@ module MailerLite
11
11
  # @return [Hash] Response from API.
12
12
  def account
13
13
  result = connection.get('me')
14
- result && result.account
14
+ result&.account
15
15
  end
16
16
 
17
17
  # Get account information.
@@ -4,12 +4,12 @@ module MailerLite
4
4
  # A class responsible for all configurations.
5
5
  class Configuration
6
6
  # Default API endpoint.
7
- API_ENDPOINT = 'https://api.mailerlite.com/api/v2'.freeze
7
+ API_ENDPOINT = 'https://api.mailerlite.com/api/v2'
8
8
 
9
9
  # Default User Agent header string.
10
- USER_AGENT = "MailerLite Ruby v#{MailerLite::VERSION}".freeze
10
+ USER_AGENT = "MailerLite Ruby v#{MailerLite::VERSION}"
11
11
 
12
- attr_accessor :api_key
12
+ attr_accessor :api_key, :timeout
13
13
  attr_writer :url, :user_agent
14
14
 
15
15
  # Takes url provided from configuration or uses default one.
@@ -37,30 +37,35 @@ 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
  }
52
+ timeout = client.config.timeout
53
+ conn_opts[:request] = { timeout: timeout } unless timeout.nil?
60
54
 
61
55
  Faraday.new(conn_opts)
62
56
  end
63
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
+
64
69
  def middleware
65
70
  @middleware ||= Faraday::RackBuilder.new do |builder|
66
71
  builder.request :json
@@ -18,7 +18,7 @@ module MailerLite
18
18
  message = error_message(response)
19
19
 
20
20
  klass = error_class(status)
21
- klass.new(message) if klass
21
+ klass&.new(message)
22
22
  end
23
23
 
24
24
  def self.error_class(status)
@@ -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.8.0'.freeze
5
+ VERSION = '1.13.0'
6
6
  end
@@ -14,6 +14,13 @@ Gem::Specification.new do |spec|
14
14
  spec.description = 'Ruby gem for MailerLite API v2'
15
15
  spec.homepage = 'https://github.com/jpalumickas/mailerlite-ruby'
16
16
 
17
+ spec.metadata = {
18
+ 'bug_tracker_uri' => 'https://github.com/jpalumickas/mailerlite-ruby/issues',
19
+ 'changelog_uri' => 'https://github.com/jpalumickas/mailerlite-ruby/releases',
20
+ 'documentation_uri' => 'https://github.com/jpalumickas/mailerlite-ruby/tree/master/examples',
21
+ 'source_code_uri' => 'https://github.com/jpalumickas/mailerlite-ruby'
22
+ }
23
+
17
24
  spec.license = 'MIT'
18
25
 
19
26
  spec.files = `git ls-files -z`
@@ -23,11 +30,17 @@ Gem::Specification.new do |spec|
23
30
  spec.bindir = 'exe'
24
31
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
25
32
  spec.require_paths = ['lib']
26
- spec.required_ruby_version = '>= 2.2.0'
27
-
28
- spec.add_dependency 'faraday', '~> 0.10'
29
- spec.add_dependency 'faraday_middleware', '~> 0.10'
30
- spec.add_dependency 'hashie', '>= 3.5.5'
31
-
32
- spec.add_development_dependency 'rake', '~> 10.0'
33
+ spec.required_ruby_version = '>= 2.5.0'
34
+
35
+ spec.add_dependency 'faraday', '~> 1.0', '>= 1.0.1'
36
+ spec.add_dependency 'faraday_middleware', '~> 1.0'
37
+ spec.add_dependency 'hashie', '~> 4.0'
38
+
39
+ # spec.add_development_dependency 'codecov', '~> 0.2', '>= 0.2.12'
40
+ spec.add_development_dependency 'pry', '~> 0.13'
41
+ spec.add_development_dependency 'rake', '~> 13.0'
42
+ spec.add_development_dependency 'rspec', '~> 3.10'
43
+ spec.add_development_dependency 'rubocop', '~> 1.8'
44
+ spec.add_development_dependency 'simplecov', '~> 0.20'
45
+ spec.add_development_dependency 'webmock', '~> 3.11'
33
46
  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.8.0
4
+ version: 1.13.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: 2019-02-05 00:00:00.000000000 Z
11
+ date: 2021-01-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -16,56 +16,132 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0.10'
19
+ version: '1.0'
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: 1.0.1
20
23
  type: :runtime
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
23
26
  requirements:
24
27
  - - "~>"
25
28
  - !ruby/object:Gem::Version
26
- version: '0.10'
29
+ version: '1.0'
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: 1.0.1
27
33
  - !ruby/object:Gem::Dependency
28
34
  name: faraday_middleware
29
35
  requirement: !ruby/object:Gem::Requirement
30
36
  requirements:
31
37
  - - "~>"
32
38
  - !ruby/object:Gem::Version
33
- version: '0.10'
39
+ version: '1.0'
34
40
  type: :runtime
35
41
  prerelease: false
36
42
  version_requirements: !ruby/object:Gem::Requirement
37
43
  requirements:
38
44
  - - "~>"
39
45
  - !ruby/object:Gem::Version
40
- version: '0.10'
46
+ version: '1.0'
41
47
  - !ruby/object:Gem::Dependency
42
48
  name: hashie
43
49
  requirement: !ruby/object:Gem::Requirement
44
50
  requirements:
45
- - - ">="
51
+ - - "~>"
46
52
  - !ruby/object:Gem::Version
47
- version: 3.5.5
53
+ version: '4.0'
48
54
  type: :runtime
49
55
  prerelease: false
50
56
  version_requirements: !ruby/object:Gem::Requirement
51
57
  requirements:
52
- - - ">="
58
+ - - "~>"
59
+ - !ruby/object:Gem::Version
60
+ version: '4.0'
61
+ - !ruby/object:Gem::Dependency
62
+ name: pry
63
+ requirement: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - "~>"
66
+ - !ruby/object:Gem::Version
67
+ version: '0.13'
68
+ type: :development
69
+ prerelease: false
70
+ version_requirements: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - "~>"
53
73
  - !ruby/object:Gem::Version
54
- version: 3.5.5
74
+ version: '0.13'
55
75
  - !ruby/object:Gem::Dependency
56
76
  name: rake
57
77
  requirement: !ruby/object:Gem::Requirement
58
78
  requirements:
59
79
  - - "~>"
60
80
  - !ruby/object:Gem::Version
61
- version: '10.0'
81
+ version: '13.0'
82
+ type: :development
83
+ prerelease: false
84
+ version_requirements: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - "~>"
87
+ - !ruby/object:Gem::Version
88
+ version: '13.0'
89
+ - !ruby/object:Gem::Dependency
90
+ name: rspec
91
+ requirement: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - "~>"
94
+ - !ruby/object:Gem::Version
95
+ version: '3.10'
96
+ type: :development
97
+ prerelease: false
98
+ version_requirements: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - "~>"
101
+ - !ruby/object:Gem::Version
102
+ version: '3.10'
103
+ - !ruby/object:Gem::Dependency
104
+ name: rubocop
105
+ requirement: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - "~>"
108
+ - !ruby/object:Gem::Version
109
+ version: '1.8'
110
+ type: :development
111
+ prerelease: false
112
+ version_requirements: !ruby/object:Gem::Requirement
113
+ requirements:
114
+ - - "~>"
115
+ - !ruby/object:Gem::Version
116
+ version: '1.8'
117
+ - !ruby/object:Gem::Dependency
118
+ name: simplecov
119
+ requirement: !ruby/object:Gem::Requirement
120
+ requirements:
121
+ - - "~>"
122
+ - !ruby/object:Gem::Version
123
+ version: '0.20'
124
+ type: :development
125
+ prerelease: false
126
+ version_requirements: !ruby/object:Gem::Requirement
127
+ requirements:
128
+ - - "~>"
129
+ - !ruby/object:Gem::Version
130
+ version: '0.20'
131
+ - !ruby/object:Gem::Dependency
132
+ name: webmock
133
+ requirement: !ruby/object:Gem::Requirement
134
+ requirements:
135
+ - - "~>"
136
+ - !ruby/object:Gem::Version
137
+ version: '3.11'
62
138
  type: :development
63
139
  prerelease: false
64
140
  version_requirements: !ruby/object:Gem::Requirement
65
141
  requirements:
66
142
  - - "~>"
67
143
  - !ruby/object:Gem::Version
68
- version: '10.0'
144
+ version: '3.11'
69
145
  description: Ruby gem for MailerLite API v2
70
146
  email:
71
147
  - jpalumickas@gmail.com
@@ -73,11 +149,13 @@ executables: []
73
149
  extensions: []
74
150
  extra_rdoc_files: []
75
151
  files:
152
+ - ".github/dependabot.yml"
153
+ - ".github/workflows/test.yml"
76
154
  - ".gitignore"
77
155
  - ".hound.yml"
78
156
  - ".rspec"
79
157
  - ".rubocop.yml"
80
- - ".travis.yml"
158
+ - CODE_OF_CONDUCT.md
81
159
  - CONTRIBUTING.md
82
160
  - Gemfile
83
161
  - LICENSE
@@ -117,8 +195,12 @@ files:
117
195
  homepage: https://github.com/jpalumickas/mailerlite-ruby
118
196
  licenses:
119
197
  - MIT
120
- metadata: {}
121
- post_install_message:
198
+ metadata:
199
+ bug_tracker_uri: https://github.com/jpalumickas/mailerlite-ruby/issues
200
+ changelog_uri: https://github.com/jpalumickas/mailerlite-ruby/releases
201
+ documentation_uri: https://github.com/jpalumickas/mailerlite-ruby/tree/master/examples
202
+ source_code_uri: https://github.com/jpalumickas/mailerlite-ruby
203
+ post_install_message:
122
204
  rdoc_options: []
123
205
  require_paths:
124
206
  - lib
@@ -126,15 +208,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
126
208
  requirements:
127
209
  - - ">="
128
210
  - !ruby/object:Gem::Version
129
- version: 2.2.0
211
+ version: 2.5.0
130
212
  required_rubygems_version: !ruby/object:Gem::Requirement
131
213
  requirements:
132
214
  - - ">="
133
215
  - !ruby/object:Gem::Version
134
216
  version: '0'
135
217
  requirements: []
136
- rubygems_version: 3.0.2
137
- signing_key:
218
+ rubygems_version: 3.2.5
219
+ signing_key:
138
220
  specification_version: 4
139
221
  summary: Ruby wrapper for MailerLite API v2
140
222
  test_files: []
@@ -1,41 +0,0 @@
1
- sudo: false
2
- bundler_args: --without development
3
-
4
- cache:
5
- bundler: true
6
-
7
- env:
8
- global:
9
- - CC_TEST_REPORTER_ID=1da21a01a5e29b3624aa81523fe36983a2b8d785f18046de30c17e1b6da1563a
10
-
11
- language: ruby
12
- rvm:
13
- - 2.2.0
14
- - 2.3.0
15
- - 2.4.0
16
- - 2.5.0
17
- - 2.6.0
18
- - ruby-head
19
-
20
- before_install:
21
- - gem install bundler -v '< 2'
22
-
23
- # After dropping support for Ruby 2.2, use:
24
- # before_install:
25
- # - gem update --system
26
- # - gem install bundler
27
-
28
- before_script:
29
- - curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
30
- - chmod +x ./cc-test-reporter
31
- - ./cc-test-reporter before-build
32
-
33
- script:
34
- - bundle exec rspec
35
-
36
- after_script:
37
- - ./cc-test-reporter after-build --exit-code $TRAVIS_TEST_RESULT
38
-
39
- matrix:
40
- allow_failures:
41
- - rvm: ruby-head