wkcheck 0.0.4 → 0.0.5
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 +4 -4
- data/lib/wkcheck/stats.rb +40 -0
- data/lib/wkcheck.rb +2 -37
- data/wkcheck.gemspec +4 -3
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 799deec38879302ecb50092bc10476b9ddd4794e
|
4
|
+
data.tar.gz: f25de3bdca6f3fdd818b5190c2c06812199d43ba
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 48da823556dc67cee2230546322975647c9dac8df5b9b19f6f60963ca43979362040270340d5d1aaf9c13b21bc7f1ec5a254ec93ddf8a3cacaf7a3f995e68a8a
|
7
|
+
data.tar.gz: be55ab0cf8f833d1140ab2ab517e682cc6277de48e5da9b24f0c387049a491cb4dad137da4a5a36af1380d757e9d0ba0e06e40dd9570a1fdfefd5e32cb1ea4e8
|
@@ -0,0 +1,40 @@
|
|
1
|
+
module WKCheck
|
2
|
+
class Stats
|
3
|
+
def study_queue
|
4
|
+
queue = Wanikani::StudyQueue.queue
|
5
|
+
lessons = queue["lessons_available"]
|
6
|
+
reviews = queue["reviews_available"]
|
7
|
+
next_review_date = Time.at(queue["next_review_date"]).localtime.strftime("%A, %B %-d at %-l:%M %p")
|
8
|
+
queue_message(lessons, reviews, next_review_date)
|
9
|
+
end
|
10
|
+
|
11
|
+
def level_progression
|
12
|
+
progress = Wanikani::Level.progression
|
13
|
+
message = "Your progress for level #{progress["current_level"]}:\n".color(:green)
|
14
|
+
message += progression_message(progress, "radicals")
|
15
|
+
message += progression_message(progress, "kanji")
|
16
|
+
end
|
17
|
+
|
18
|
+
private
|
19
|
+
|
20
|
+
def queue_message(lessons, reviews, next_review_date)
|
21
|
+
if lessons.zero? && reviews.zero?
|
22
|
+
message = "You have no lessons or reviews now! You'll have some more on #{next_review_date.bright}.".color(:green)
|
23
|
+
else
|
24
|
+
lessons_msg = lessons.zero? ? "no".color(:green) : lessons.to_s.color(:red)
|
25
|
+
reviews_msg = reviews.zero? ? "no".color(:green) : reviews.to_s.color(:red)
|
26
|
+
message = "You have #{lessons_msg} lessons pending"
|
27
|
+
message += "\nYou have #{reviews_msg} reviews pending"
|
28
|
+
message += "\nYou have more reviews coming your way on #{next_review_date.bright.color(:green)}." if reviews.zero?
|
29
|
+
message
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
def progression_message(progress, group)
|
34
|
+
percent = ((progress["#{group}_progress"].to_f / progress["#{group}_total"].to_f) * 100).round(1).to_s
|
35
|
+
message = "#{progress["#{group}_progress"]} out of #{progress["#{group}_total"]} #{group.capitalize} ("
|
36
|
+
message += "#{percent}%".bright.color(:cyan)
|
37
|
+
message += ")\n"
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
data/lib/wkcheck.rb
CHANGED
@@ -1,43 +1,8 @@
|
|
1
1
|
require 'wanikani'
|
2
2
|
require 'rainbow'
|
3
|
+
require 'wkcheck/stats'
|
3
4
|
|
4
5
|
module WKCheck
|
5
|
-
VERSION = "0.0.
|
6
|
+
VERSION = "0.0.5"
|
6
7
|
CONFIG_FILE = "#{Dir.home}/.wkcheck.yml"
|
7
|
-
|
8
|
-
class Stats
|
9
|
-
def study_queue
|
10
|
-
queue = Wanikani::StudyQueue.queue
|
11
|
-
lessons = queue["lessons_available"]
|
12
|
-
reviews = queue["reviews_available"]
|
13
|
-
next_review_date = Time.at(queue["next_review_date"]).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
|
-
message = "Your progress for level #{progress["current_level"]}:\n".color(:green)
|
20
|
-
message += progression_message(progress, "radicals")
|
21
|
-
message += progression_message(progress, "kanji")
|
22
|
-
end
|
23
|
-
|
24
|
-
private
|
25
|
-
|
26
|
-
def queue_message(lessons, reviews, next_review_date)
|
27
|
-
if lessons.zero? && reviews.zero?
|
28
|
-
message = "You have no lessons or reviews now! You'll have some more on #{next_review_date.bright}.".color(:green)
|
29
|
-
else
|
30
|
-
lessons_msg = lessons.zero? ? "no".color(:green) : lessons.to_s.color(:red)
|
31
|
-
reviews_msg = reviews.zero? ? "no".color(:green) : reviews.to_s.color(:red)
|
32
|
-
message = "You have #{lessons_msg} lessons pending"
|
33
|
-
message += "\nYou have #{reviews_msg} reviews pending"
|
34
|
-
message += "\nYou have more reviews coming your way on #{next_review_date.bright.color(:green)}."
|
35
|
-
end
|
36
|
-
end
|
37
|
-
|
38
|
-
def progression_message(progress, group)
|
39
|
-
percent = ((progress["#{group}_progress"].to_f / progress["#{group}_total"].to_f) * 100).round(1).to_s
|
40
|
-
message = "#{progress["#{group}_progress"]} out of #{progress["#{group}_total"]} #{group.capitalize} (#{percent.bright}%)\n".color(:cyan)
|
41
|
-
end
|
42
|
-
end
|
43
8
|
end
|
data/wkcheck.gemspec
CHANGED
@@ -1,19 +1,20 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.name = "wkcheck"
|
3
|
-
s.version = "0.0.
|
4
|
-
s.date = "2013-
|
3
|
+
s.version = "0.0.5"
|
4
|
+
s.date = "2013-07-13"
|
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"]
|
8
8
|
s.email = "dennis@dennmart.com"
|
9
9
|
s.homepage = "http://github.com/dennmart/wkcheck"
|
10
10
|
s.executables = ["wkcheck"]
|
11
|
-
s.require_paths = ["lib"]
|
11
|
+
s.require_paths = ["lib", "lib/wkcheck"]
|
12
12
|
s.files = %w[
|
13
13
|
README.md
|
14
14
|
bin/wkcheck
|
15
15
|
wkcheck.gemspec
|
16
16
|
lib/wkcheck.rb
|
17
|
+
lib/wkcheck/stats.rb
|
17
18
|
]
|
18
19
|
|
19
20
|
s.required_ruby_version = '>= 1.9.2'
|
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.5
|
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-
|
11
|
+
date: 2013-07-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: wanikani
|
@@ -106,6 +106,7 @@ files:
|
|
106
106
|
- bin/wkcheck
|
107
107
|
- wkcheck.gemspec
|
108
108
|
- lib/wkcheck.rb
|
109
|
+
- lib/wkcheck/stats.rb
|
109
110
|
homepage: http://github.com/dennmart/wkcheck
|
110
111
|
licenses: []
|
111
112
|
metadata: {}
|
@@ -113,6 +114,7 @@ post_install_message:
|
|
113
114
|
rdoc_options: []
|
114
115
|
require_paths:
|
115
116
|
- lib
|
117
|
+
- lib/wkcheck
|
116
118
|
required_ruby_version: !ruby/object:Gem::Requirement
|
117
119
|
requirements:
|
118
120
|
- - '>='
|