mailerlite 1.3.0 → 1.4.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
  SHA1:
3
- metadata.gz: 9de4d75cd5a4ead0366d3877ea110f1a551e01f0
4
- data.tar.gz: 8b439fd20c4839f14f000305279c5839142de63b
3
+ metadata.gz: 984ea2887eeda9a034ae249e35fc8f5fd12fa7cf
4
+ data.tar.gz: aa93215262aaf8ea65205e3e70a22ed9d0bd0a04
5
5
  SHA512:
6
- metadata.gz: d14e38d75a5382bcd8864d99c11e1e6261f81b42a47ab1eb8cd256c1f58ffaa39b0140a3798e7ca11df97a72d7d58aee5385f9dec36c3338bcf77c1847aa9a94
7
- data.tar.gz: 8940d6c252b925e788e55b06c545fa40de345756b42308f63cb62c49c5c437366997011db48c3c5b8414b415f48865c8e299553c733d71c0482493df51eaf100
6
+ metadata.gz: 1b8245eb4d856dad8c867aac19f58207352e5a3d78fc959726b4faf05be924c71f047475836631d22b10c023e249bb599f2359223b13198ee203e15d92c7db34
7
+ data.tar.gz: 989d14aa457ad1f4055a73882ecb3fc7aa4d5d54c584035ec32bb25e1c5681f73790ea844fadc38d7784f75733b74ce8b97e2caafcaa6dfb178d67a28a3ce942
@@ -15,14 +15,18 @@ module MailerLite
15
15
  status = response.status.to_i
16
16
  message = error_message(response)
17
17
 
18
- klass = case status
18
+ klass = error_class(status)
19
+ klass.new(message) if klass
20
+ end
21
+
22
+ def self.error_class(status)
23
+ case status
19
24
  when 400 then MailerLite::BadRequest
20
25
  when 401 then MailerLite::Unauthorized
21
26
  when 404 then MailerLite::NotFound
27
+ when 429 then MailerLite::TooManyRequests
22
28
  when 500 then MailerLite::InternalServerError
23
29
  end
24
-
25
- klass.new(message) if klass
26
30
  end
27
31
 
28
32
  # Returns the appropriate MailerLite error message based on response
@@ -70,4 +74,12 @@ module MailerLite
70
74
  @message || 'The server encountered an unexpected condition'
71
75
  end
72
76
  end
77
+
78
+ # Raised when MailerLite returns a 429 HTTP status code
79
+ class TooManyRequests < Error
80
+ # Default error message.
81
+ def to_s
82
+ @message || 'Too Many Requests'
83
+ end
84
+ end
73
85
  end
@@ -1,4 +1,4 @@
1
1
  module MailerLite
2
2
  # @return [String] Version number.
3
- VERSION = '1.3.0'.freeze
3
+ VERSION = '1.4.0'.freeze
4
4
  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.3.0
4
+ version: 1.4.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: 2017-06-07 00:00:00.000000000 Z
11
+ date: 2017-10-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -144,7 +144,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
144
144
  version: '0'
145
145
  requirements: []
146
146
  rubyforge_project:
147
- rubygems_version: 2.6.12
147
+ rubygems_version: 2.6.14
148
148
  signing_key:
149
149
  specification_version: 4
150
150
  summary: Ruby wrapper for MailerLite API v2