wanikani 1.4.1 → 1.5.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
  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!