wkcheck 0.0.2
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 +7 -0
- data/README.md +46 -0
- data/bin/wkcheck +38 -0
- data/lib/wkcheck.rb +24 -0
- data/wkcheck.gemspec +27 -0
- metadata +118 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 1e071a3e6a1aa9c5a94e5cff33e1a46f1e9946b3
|
4
|
+
data.tar.gz: 91678d915c78a7381c672cbb51798abd46ea6add
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: d56c3205e7362729510d085aa7ea92307c96502dbfa3b8ceac2e562707623aff98b4b09a5baea6647937bb0882d6cdd5b792703b5285c262d66461ca2329af2d
|
7
|
+
data.tar.gz: 0437d3b35635beb805c40dde5e1f5e1521ec7008cfe58cae24a095f870cf23e72f438c90ca90d4359675918f64d917804883554b1617d395db4ba06979825e50
|
data/README.md
ADDED
@@ -0,0 +1,46 @@
|
|
1
|
+
[](https://travis-ci.org/dennmart/wkcheck)
|
2
|
+
|
3
|
+
**wkcheck** is a command-line tool to access information from your [WaniKani](http://www.wanikani.com/) account.
|
4
|
+
|
5
|
+
## Installation
|
6
|
+
```
|
7
|
+
$ gem install wanikani
|
8
|
+
```
|
9
|
+
|
10
|
+
## API Key
|
11
|
+
|
12
|
+
Before using wkcheck, you need to set up the WaniKani API key from your account. You need to use the `--api-key` flag to save your API Key for future use. This only needs to be done once. A file will be created in `~/.wkcheck.yml` with your API Key. The key can be found in your [account settings](http://www.wanikani.com/account).
|
13
|
+
|
14
|
+
```
|
15
|
+
$ wkcheck --api-key=YOUR_WANIKANI_API_KEY
|
16
|
+
```
|
17
|
+
|
18
|
+
## Usage
|
19
|
+
|
20
|
+
Once the API Key is saved, simply run `wkcheck` to see how many lessons and reviews you have pending in WaniKani.
|
21
|
+
|
22
|
+
```
|
23
|
+
$ wkcheck
|
24
|
+
You have no lessons pending.
|
25
|
+
You have 93 reviews pending.
|
26
|
+
```
|
27
|
+
|
28
|
+
If you don't have any lessons or reviews pending, you'll be able to see when your next review will come up.
|
29
|
+
|
30
|
+
```
|
31
|
+
$ wkcheck
|
32
|
+
You have no lessons or reviews now! You'll have some more on Sunday, May 10 at 8:45 AM.
|
33
|
+
```
|
34
|
+
|
35
|
+
## Contributing
|
36
|
+
|
37
|
+
I'll be super-happy if you guys help giving back! If you want to do some hacking on wkcheck for your needs, this is a good guideline to get started:
|
38
|
+
|
39
|
+
* Fork the repo on GitHub
|
40
|
+
* Create a branch on your clone that will contain your changes
|
41
|
+
* Hack away on your branch
|
42
|
+
* Add tests in the `/features` or `/test` directory relating to your changes
|
43
|
+
* Make sure all tests still pass (`rake test_all`)
|
44
|
+
* If you're adding new functionality, make sure to update `README.md`
|
45
|
+
* Push the branch to GitHub
|
46
|
+
* Send me a pull request for your branch
|
data/bin/wkcheck
ADDED
@@ -0,0 +1,38 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require 'yaml'
|
4
|
+
require 'slop'
|
5
|
+
|
6
|
+
$:.unshift File.join(File.dirname(__FILE__), *%w[.. lib])
|
7
|
+
require 'wkcheck'
|
8
|
+
|
9
|
+
opts = Slop.parse(help: true) do
|
10
|
+
banner "Usage: wkcheck [options]"
|
11
|
+
|
12
|
+
on "api-key=", "Saves your WaniKani API Key to #{WKCheck::CONFIG_FILE}"
|
13
|
+
|
14
|
+
on "v", "version", "Show version number and quit" do
|
15
|
+
puts "wkcheck #{WKCheck::VERSION}"
|
16
|
+
exit
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
unless opts["api-key"].nil? || opts["api-key"].empty?
|
21
|
+
File.open(WKCheck::CONFIG_FILE, 'w') { |f| f.write({ api_key: opts["api-key"] }.to_yaml) } unless opts["api-key"].nil?
|
22
|
+
puts "WaniKani API Key saved to #{WKCheck::CONFIG_FILE}!"
|
23
|
+
exit
|
24
|
+
end
|
25
|
+
|
26
|
+
api_key = if File.exists?(WKCheck::CONFIG_FILE)
|
27
|
+
config = YAML.load_file(WKCheck::CONFIG_FILE)
|
28
|
+
config[:api_key]
|
29
|
+
end
|
30
|
+
|
31
|
+
if api_key.nil? || api_key.empty?
|
32
|
+
puts "You must first save your WaniKani API Key using the --api-key flag."
|
33
|
+
exit 1
|
34
|
+
end
|
35
|
+
|
36
|
+
Wanikani.api_key = api_key
|
37
|
+
|
38
|
+
puts WKCheck::Study.available_stats
|
data/lib/wkcheck.rb
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
require 'wanikani'
|
2
|
+
|
3
|
+
module WKCheck
|
4
|
+
VERSION = "0.0.2"
|
5
|
+
CONFIG_FILE = "#{Dir.home}/.wkcheck.yml"
|
6
|
+
|
7
|
+
class Study
|
8
|
+
def self.available_stats
|
9
|
+
queue = Wanikani::StudyQueue.queue
|
10
|
+
lessons = queue["lessons_available"]
|
11
|
+
reviews = queue["reviews_available"]
|
12
|
+
next_review_date = Time.at(queue["next_review_date"]).utc.strftime("%A, %B %-d at %-l:%M %p")
|
13
|
+
|
14
|
+
if lessons.zero? && reviews.zero?
|
15
|
+
message = "You have no lessons or reviews now! You'll have some more on #{next_review_date}."
|
16
|
+
else
|
17
|
+
message = "You have #{lessons.zero? ? "no" : lessons } lessons pending."
|
18
|
+
message += "\nYou have #{reviews.zero? ? "no" : reviews } reviews pending."
|
19
|
+
end
|
20
|
+
|
21
|
+
message
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
data/wkcheck.gemspec
ADDED
@@ -0,0 +1,27 @@
|
|
1
|
+
Gem::Specification.new do |s|
|
2
|
+
s.name = "wkcheck"
|
3
|
+
s.version = "0.0.2"
|
4
|
+
s.date = "2013-05-12"
|
5
|
+
s.summary = "Check your WaniKani stats from the command line"
|
6
|
+
s.description = "Check your pending lessons and reviews of your WaniKani account (http://www.wanikani.com/) from the command line"
|
7
|
+
s.authors = ["Dennis Martinez"]
|
8
|
+
s.email = "dennis@dennmart.com"
|
9
|
+
s.homepage = "http://github.com/dennmart/wkcheck"
|
10
|
+
s.executables = ["wkcheck"]
|
11
|
+
s.require_paths = ["lib"]
|
12
|
+
s.files = %w[
|
13
|
+
README.md
|
14
|
+
bin/wkcheck
|
15
|
+
wkcheck.gemspec
|
16
|
+
lib/wkcheck.rb
|
17
|
+
]
|
18
|
+
|
19
|
+
s.required_ruby_version = '>= 1.9.2'
|
20
|
+
|
21
|
+
s.add_runtime_dependency "wanikani", "~> 0.0.3"
|
22
|
+
s.add_runtime_dependency "slop", "~> 3.4.4"
|
23
|
+
|
24
|
+
s.add_development_dependency "aruba", "~> 0.5.2"
|
25
|
+
s.add_development_dependency "mocha", "~> 0.13.3"
|
26
|
+
s.add_development_dependency "rake", "~> 10.0.4"
|
27
|
+
end
|
metadata
ADDED
@@ -0,0 +1,118 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: wkcheck
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.2
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Dennis Martinez
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2013-05-12 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: wanikani
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ~>
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 0.0.3
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ~>
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 0.0.3
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: slop
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ~>
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 3.4.4
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ~>
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 3.4.4
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: aruba
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ~>
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: 0.5.2
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ~>
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: 0.5.2
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: mocha
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ~>
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 0.13.3
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ~>
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: 0.13.3
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: rake
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ~>
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: 10.0.4
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ~>
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: 10.0.4
|
83
|
+
description: Check your pending lessons and reviews of your WaniKani account (http://www.wanikani.com/)
|
84
|
+
from the command line
|
85
|
+
email: dennis@dennmart.com
|
86
|
+
executables:
|
87
|
+
- wkcheck
|
88
|
+
extensions: []
|
89
|
+
extra_rdoc_files: []
|
90
|
+
files:
|
91
|
+
- README.md
|
92
|
+
- bin/wkcheck
|
93
|
+
- wkcheck.gemspec
|
94
|
+
- lib/wkcheck.rb
|
95
|
+
homepage: http://github.com/dennmart/wkcheck
|
96
|
+
licenses: []
|
97
|
+
metadata: {}
|
98
|
+
post_install_message:
|
99
|
+
rdoc_options: []
|
100
|
+
require_paths:
|
101
|
+
- lib
|
102
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
103
|
+
requirements:
|
104
|
+
- - '>='
|
105
|
+
- !ruby/object:Gem::Version
|
106
|
+
version: 1.9.2
|
107
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
108
|
+
requirements:
|
109
|
+
- - '>='
|
110
|
+
- !ruby/object:Gem::Version
|
111
|
+
version: '0'
|
112
|
+
requirements: []
|
113
|
+
rubyforge_project:
|
114
|
+
rubygems_version: 2.0.3
|
115
|
+
signing_key:
|
116
|
+
specification_version: 4
|
117
|
+
summary: Check your WaniKani stats from the command line
|
118
|
+
test_files: []
|