wkcheck 0.0.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/wkcheck +16 -2
- data/lib/wkcheck.rb +29 -7
- data/wkcheck.gemspec +4 -3
- metadata +18 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9cf348abcab7fc7a871c41df6b38c2af361a3d6b
|
4
|
+
data.tar.gz: d5d8d98142696987d3be9660b0806715da1f754c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b45b50f1dcfa3ee1bc059f892c44b3bb337625f9b3e07e535486807bfaa8299069dec5d37f84d21d6432fb682af4a438a1797386de62c39b74c7b9e1f304c951
|
7
|
+
data.tar.gz: 0805c370e163c0ddf522fa434d9720e99ba8873868a9251561b41d68c45d94d4667d861f3fbffe8c5015318f50d27c2e67ceed2089bcd890268bb5711a1fad62
|
data/bin/wkcheck
CHANGED
@@ -10,7 +10,8 @@ opts = Slop.parse(help: true) do
|
|
10
10
|
banner "Usage: wkcheck [options]"
|
11
11
|
|
12
12
|
on "api-key=", "Saves your WaniKani API Key to #{WKCheck::CONFIG_FILE}"
|
13
|
-
|
13
|
+
on "q", "queue", "Displays your current study queue (new lessons / pending reviews)"
|
14
|
+
on "l", "level", "Displays your current level progression (radicals / Kanji)"
|
14
15
|
on "v", "version", "Show version number and quit" do
|
15
16
|
puts "wkcheck #{WKCheck::VERSION}"
|
16
17
|
exit
|
@@ -35,4 +36,17 @@ end
|
|
35
36
|
|
36
37
|
Wanikani.api_key = api_key
|
37
38
|
|
38
|
-
|
39
|
+
if opts.queue?
|
40
|
+
stats = WKCheck::Stats.new
|
41
|
+
puts stats.study_queue
|
42
|
+
exit
|
43
|
+
end
|
44
|
+
|
45
|
+
if opts.level?
|
46
|
+
stats = WKCheck::Stats.new
|
47
|
+
puts stats.level_progression
|
48
|
+
exit
|
49
|
+
end
|
50
|
+
|
51
|
+
# No flags / Invalid flags - Display the help.
|
52
|
+
puts opts.help
|
data/lib/wkcheck.rb
CHANGED
@@ -1,24 +1,46 @@
|
|
1
1
|
require 'wanikani'
|
2
|
+
require 'rainbow'
|
2
3
|
|
3
4
|
module WKCheck
|
4
|
-
VERSION = "0.0.
|
5
|
+
VERSION = "0.0.3"
|
5
6
|
CONFIG_FILE = "#{Dir.home}/.wkcheck.yml"
|
6
7
|
|
7
|
-
class
|
8
|
-
def
|
8
|
+
class Stats
|
9
|
+
def study_queue
|
9
10
|
queue = Wanikani::StudyQueue.queue
|
10
11
|
lessons = queue["lessons_available"]
|
11
12
|
reviews = queue["reviews_available"]
|
12
13
|
next_review_date = Time.at(queue["next_review_date"]).utc.strftime("%A, %B %-d at %-l:%M %p")
|
14
|
+
queue_message(lessons, reviews, next_review_date)
|
15
|
+
end
|
16
|
+
|
17
|
+
def level_progression
|
18
|
+
progress = Wanikani::Level.progression
|
19
|
+
progression_message(progress)
|
20
|
+
end
|
13
21
|
|
22
|
+
private
|
23
|
+
|
24
|
+
def queue_message(lessons, reviews, next_review_date)
|
14
25
|
if lessons.zero? && reviews.zero?
|
15
|
-
message = "You have no lessons or reviews now! You'll have some more on #{next_review_date}."
|
26
|
+
message = "You have no lessons or reviews now! You'll have some more on #{next_review_date.bright}.".color(:green)
|
16
27
|
else
|
17
|
-
|
18
|
-
|
28
|
+
lessons_msg = lessons.zero? ? "no".color(:green) : lessons.to_s.color(:red)
|
29
|
+
reviews_msg = reviews.zero? ? "no".color(:green) : reviews.to_s.color(:red)
|
30
|
+
message = "You have #{lessons_msg} lessons pending"
|
31
|
+
message += "\nYou have #{reviews_msg} reviews pending"
|
19
32
|
end
|
33
|
+
end
|
34
|
+
|
35
|
+
def progression_message(progress)
|
36
|
+
radicals_percent = (progress["radicals_progress"].to_f / progress["radicals_total"].to_f) * 100
|
37
|
+
kanji_percent = (progress["kanji_progress"].to_f / progress["kanji_total"].to_f) * 100
|
20
38
|
|
21
|
-
message
|
39
|
+
message = "Your progress for level #{progress["current_level"]}:\n".color(:green)
|
40
|
+
message += "#{progress["radicals_progress"]} out of #{progress["radicals_total"]} radicals".color(:cyan)
|
41
|
+
message += " (#{radicals_percent.round(1)}%)\n"
|
42
|
+
message += "#{progress["kanji_progress"]} out of #{progress["kanji_total"]} Kanji".color(:cyan)
|
43
|
+
message += " (#{kanji_percent.round(1)}%)\n"
|
22
44
|
end
|
23
45
|
end
|
24
46
|
end
|
data/wkcheck.gemspec
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.name = "wkcheck"
|
3
|
-
s.version = "0.0.
|
4
|
-
s.date = "2013-05-
|
3
|
+
s.version = "0.0.3"
|
4
|
+
s.date = "2013-05-22"
|
5
5
|
s.summary = "Check your WaniKani stats from the command line"
|
6
6
|
s.description = "Check your pending lessons and reviews of your WaniKani account (http://www.wanikani.com/) from the command line"
|
7
7
|
s.authors = ["Dennis Martinez"]
|
@@ -18,8 +18,9 @@ Gem::Specification.new do |s|
|
|
18
18
|
|
19
19
|
s.required_ruby_version = '>= 1.9.2'
|
20
20
|
|
21
|
-
s.add_runtime_dependency "wanikani", "~> 0.0.
|
21
|
+
s.add_runtime_dependency "wanikani", "~> 0.0.4"
|
22
22
|
s.add_runtime_dependency "slop", "~> 3.4.4"
|
23
|
+
s.add_runtime_dependency "rainbow", "~> 1.1.4"
|
23
24
|
|
24
25
|
s.add_development_dependency "aruba", "~> 0.5.2"
|
25
26
|
s.add_development_dependency "mocha", "~> 0.13.3"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: wkcheck
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dennis Martinez
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-05-
|
11
|
+
date: 2013-05-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: wanikani
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - ~>
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 0.0.
|
19
|
+
version: 0.0.4
|
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.0.
|
26
|
+
version: 0.0.4
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: slop
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -38,6 +38,20 @@ dependencies:
|
|
38
38
|
- - ~>
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: 3.4.4
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rainbow
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ~>
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: 1.1.4
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ~>
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: 1.1.4
|
41
55
|
- !ruby/object:Gem::Dependency
|
42
56
|
name: aruba
|
43
57
|
requirement: !ruby/object:Gem::Requirement
|