wkcheck 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (5) hide show
  1. checksums.yaml +4 -4
  2. data/bin/wkcheck +16 -2
  3. data/lib/wkcheck.rb +29 -7
  4. data/wkcheck.gemspec +4 -3
  5. metadata +18 -4
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1e071a3e6a1aa9c5a94e5cff33e1a46f1e9946b3
4
- data.tar.gz: 91678d915c78a7381c672cbb51798abd46ea6add
3
+ metadata.gz: 9cf348abcab7fc7a871c41df6b38c2af361a3d6b
4
+ data.tar.gz: d5d8d98142696987d3be9660b0806715da1f754c
5
5
  SHA512:
6
- metadata.gz: d56c3205e7362729510d085aa7ea92307c96502dbfa3b8ceac2e562707623aff98b4b09a5baea6647937bb0882d6cdd5b792703b5285c262d66461ca2329af2d
7
- data.tar.gz: 0437d3b35635beb805c40dde5e1f5e1521ec7008cfe58cae24a095f870cf23e72f438c90ca90d4359675918f64d917804883554b1617d395db4ba06979825e50
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
- puts WKCheck::Study.available_stats
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.2"
5
+ VERSION = "0.0.3"
5
6
  CONFIG_FILE = "#{Dir.home}/.wkcheck.yml"
6
7
 
7
- class Study
8
- def self.available_stats
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
- message = "You have #{lessons.zero? ? "no" : lessons } lessons pending."
18
- message += "\nYou have #{reviews.zero? ? "no" : reviews } reviews pending."
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.2"
4
- s.date = "2013-05-12"
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.3"
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.2
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-12 00:00:00.000000000 Z
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.3
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.3
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