wanikani 1.4.1 → 1.5.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: bf87a757aae58a6cc3885aebbb39ae4027320544
4
- data.tar.gz: 17cb747c793b240b4fba3ec8193572386590503e
3
+ metadata.gz: 138c753cc3cd8de0fdc6431696fafef58e6cc0b2
4
+ data.tar.gz: cd01ab65169dc4e9ef4a0e82b82efa0b15d86908
5
5
  SHA512:
6
- metadata.gz: f32a2d019b45c21f0999ee8275140ae6986b1b82a57cb9e054c079cb0b6ef227490dc9205f188cc51f157d002a3942341c8fc0aa0fb749aff2900aeffed81741
7
- data.tar.gz: 577f2371137cec6415331baa3825e6a120b819ccae0b21a1b2f76734d6246b2fd0a6c7cd07939642f8c6c359cb1e159ae7a8b838be24319af0e658406883c01e
6
+ metadata.gz: f5722801a57c16801ba3104fac258d7bd4a4a5a97aa340a5c8787d89a7d27df03b702212744b1b656eb85ea90299cee9fe93d7bbcf860d905aac407d4694fb8a
7
+ data.tar.gz: 44e0dd55615a5ee0f9243ad3ea7f94db1308725f250535f87ec61e6b32fd4c7e8232f89ad0aa6e538f94754358f87aeb8f8592bdd2d6286cf2e6b6de8fdf14ea
@@ -42,15 +42,13 @@ module Wanikani
42
42
  begin
43
43
  res = client.get("/api/#{Wanikani.api_version}/user/#{Wanikani.api_key}/#{resource}/#{optional_arg}")
44
44
 
45
- if !res.success?
46
- self.raise_exception("Status code: #{res.status}")
47
- elsif res.body.has_key?("error")
48
- self.raise_exception(res.body["error"]["message"])
45
+ if !res.success? || res.body.has_key?("error")
46
+ self.raise_exception(res)
49
47
  else
50
48
  return res.body
51
49
  end
52
50
  rescue => error
53
- self.raise_exception(error.message)
51
+ raise Exception, "There was an error: #{error.message}"
54
52
  end
55
53
  end
56
54
 
@@ -59,7 +57,9 @@ module Wanikani
59
57
  return false if api_key.nil? || api_key.empty?
60
58
 
61
59
  res = client.get("/api/#{Wanikani.api_version}/user/#{api_key}/user-information")
62
- !res.body.has_key?("error")
60
+
61
+ return false if !res.success? || res.body.has_key?("error")
62
+ return true
63
63
  end
64
64
 
65
65
  private
@@ -71,7 +71,14 @@ module Wanikani
71
71
  end
72
72
  end
73
73
 
74
- def self.raise_exception(message)
74
+ def self.raise_exception(response)
75
+ raise Wanikani::InvalidKey, "The API key used for this request is invalid." and return if response.status == 401
76
+
77
+ message = if response.body.is_a?(Hash) and response.body.has_key?("error")
78
+ response.body["error"]["message"]
79
+ else
80
+ "Status code: #{response.status}"
81
+ end
75
82
  raise Wanikani::Exception, "There was an error fetching the data from Wanikani (#{message})"
76
83
  end
77
84
  end
@@ -1,3 +1,4 @@
1
1
  module Wanikani
2
+ class InvalidKey < Exception; end
2
3
  class Exception < Exception; end
3
4
  end
@@ -1,3 +1,3 @@
1
1
  module Wanikani
2
- VERSION = '1.4.1'
2
+ VERSION = '1.5.0'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wanikani
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.1
4
+ version: 1.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dennis Martinez
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-08-31 00:00:00.000000000 Z
11
+ date: 2017-08-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -16,56 +16,56 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0.9'
19
+ version: '0.12'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '0.9'
26
+ version: '0.12'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: faraday_middleware
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '0.10'
33
+ version: '0.12'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '0.10'
40
+ version: '0.12'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rspec
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '3.5'
47
+ version: '3.6'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '3.5'
54
+ version: '3.6'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: webmock
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '2.1'
61
+ version: '3.0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '2.1'
68
+ version: '3.0'
69
69
  description: Use WaniKani's (https://www.wanikani.com/) API in your Ruby applications
70
70
  email: dennis@dennmart.com
71
71
  executables: []
@@ -93,7 +93,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - ">="
95
95
  - !ruby/object:Gem::Version
96
- version: 1.9.3
96
+ version: '2.0'
97
97
  required_rubygems_version: !ruby/object:Gem::Requirement
98
98
  requirements:
99
99
  - - ">="
@@ -101,7 +101,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
101
101
  version: '0'
102
102
  requirements: []
103
103
  rubyforge_project:
104
- rubygems_version: 2.6.4
104
+ rubygems_version: 2.6.11
105
105
  signing_key:
106
106
  specification_version: 4
107
107
  summary: Add Japanese Kanji learning goodness to your Ruby projects!