learn-japanese 0.4.1 → 0.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 +4 -4
- data/bin/learn-japanese +6 -0
- data/bin/sounds-to-hiragana +2 -26
- data/learn-japanese.gemspec +4 -3
- data/lib/learn-japanese/cli.rb +24 -0
- data/lib/learn-japanese/game/sound-game.rb +34 -0
- data/lib/learn-japanese/version.rb +3 -2
- data/lib/learn-japanese.rb +28 -0
- metadata +21 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c326b07ac2656bdfcaf385898b70c589d8fa7571bf6adbcb4b7b369130dd51d5
|
4
|
+
data.tar.gz: 1c19e75e31d96b4d3b9e11d349c8c24f0e2f0b71649193afe73f4cb02c192a04
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7e06b77a12fabb4667ecba8a4c681b7e1e4e6c3616d8c7ecfebc63da7cb7e21c1da8a2fade41a35d95549e9951276eca99ef358fc1e39156856eb663cacd688e
|
7
|
+
data.tar.gz: e67a8f0828e1d1683d085e6ab6ebabf8af0882a2524d9f3e84442f06d10e0407b00e86d97dfbcdbe0c9e70b3a899749f735d35ae0ecc65dccbfa876b3082e32d
|
data/bin/learn-japanese
ADDED
data/bin/sounds-to-hiragana
CHANGED
@@ -1,30 +1,6 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
3
|
$LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
|
4
|
-
require 'learn-japanese/
|
5
|
-
require 'learn-japanese/dictionary'
|
6
|
-
require 'colorize'
|
4
|
+
require 'learn-japanese/game/sound-game'
|
7
5
|
|
8
|
-
|
9
|
-
|
10
|
-
def sound_to_hiragana
|
11
|
-
print " Write sounds ? ".light_yellow
|
12
|
-
sounds = gets.chomp.split
|
13
|
-
hiraganas = Hiragana.all
|
14
|
-
|
15
|
-
hiragana_array = sounds.map { hiraganas[_1.to_sym] || '*' }
|
16
|
-
hiragana = hiragana_array.join('')
|
17
|
-
|
18
|
-
words = Dictionary.new.words
|
19
|
-
word = (words.select { _1["hiragana"] == hiragana})[0] || {'spanish': '?', 'sounds': '?'}
|
20
|
-
|
21
|
-
puts " Hiragana => #{hiragana}".cyan
|
22
|
-
puts " Spanish => #{word["spanish"]}".cyan
|
23
|
-
puts " Pronounce => #{word["sounds"]}".cyan
|
24
|
-
|
25
|
-
return false if sounds.size.zero?
|
26
|
-
true
|
27
|
-
end
|
28
|
-
|
29
|
-
while sound_to_hiragana
|
30
|
-
end
|
6
|
+
SoundGame.loop_hiragana_game
|
data/learn-japanese.gemspec
CHANGED
@@ -5,14 +5,15 @@ $LOAD_PATH.unshift File.expand_path("../lib", __FILE__)
|
|
5
5
|
name = "learn-japanese"
|
6
6
|
require "#{name}/version"
|
7
7
|
|
8
|
-
Gem::Specification.new name,
|
9
|
-
s.summary = "Learn Japanese (UNDER DEVELOPMENT
|
8
|
+
Gem::Specification.new name, LearnJapanese::VERSION do |s|
|
9
|
+
s.summary = "Learn Japanese (UNDER DEVELOPMENT)"
|
10
10
|
s.email = "dvarrui@protonmail.com"
|
11
|
-
s.homepage =
|
11
|
+
s.homepage = LearnJapanese::HOMEPAGE
|
12
12
|
s.authors = ["David Vargas Ruiz"]
|
13
13
|
s.files = `git ls-files`.split("\n")
|
14
14
|
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
15
15
|
s.license = "GPL-3"
|
16
16
|
|
17
17
|
s.add_runtime_dependency "colorize"
|
18
|
+
s.add_runtime_dependency "thor"
|
18
19
|
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
require 'thor'
|
2
|
+
require_relative '../learn-japanese'
|
3
|
+
|
4
|
+
class CLI < Thor
|
5
|
+
map ['h', '-h', '--help'] => 'help'
|
6
|
+
|
7
|
+
map ['v', '-v', '--version'] => 'version'
|
8
|
+
desc 'version', 'Show the program version'
|
9
|
+
def version
|
10
|
+
LearnJapanese.show_version
|
11
|
+
end
|
12
|
+
|
13
|
+
map ['ca', '-ca', '--choose-answer', 'choose-answer'] => 'choose_answer'
|
14
|
+
desc 'choose-answer [LEVEL]', 'LEVEL = 1-4'
|
15
|
+
def choose_answer(level)
|
16
|
+
LearnJapanese.choose_answer(level.to_i)
|
17
|
+
end
|
18
|
+
|
19
|
+
map ['sa', '-sa', '--short-answer', 'short-answer'] => 'short_answer'
|
20
|
+
desc 'short-answer [LEVEL]', 'LEVEL = 1-4'
|
21
|
+
def short_answer(level)
|
22
|
+
LearnJapanese.short_answer(level.to_i)
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
|
2
|
+
require_relative '../hiragana'
|
3
|
+
require_relative '../dictionary'
|
4
|
+
require 'colorize'
|
5
|
+
|
6
|
+
module SoundGame
|
7
|
+
|
8
|
+
def self.to_hiragana(sounds)
|
9
|
+
hiraganas = Hiragana.all
|
10
|
+
|
11
|
+
hiragana_array = sounds.map { hiraganas[_1.to_sym] || '*' }
|
12
|
+
hiragana = hiragana_array.join('')
|
13
|
+
|
14
|
+
none = {'hiragana': hiragana, 'spanish': '?', 'sounds': '?'}
|
15
|
+
words = Dictionary.new.words
|
16
|
+
word = (words.select {_1["hiragana"] == hiragana})[0] || none
|
17
|
+
|
18
|
+
word
|
19
|
+
end
|
20
|
+
|
21
|
+
def self.loop_hiragana_game
|
22
|
+
sounds = "init"
|
23
|
+
until sounds.empty?
|
24
|
+
puts "[ Sounds to Hiragana ] Example: a i => あい (amor - ái)".white
|
25
|
+
print " Write sounds ? ".light_yellow
|
26
|
+
sounds = gets.chomp.split
|
27
|
+
word = self.to_hiragana(sounds)
|
28
|
+
puts " Hiragana => #{word["hiragana"]}".cyan
|
29
|
+
puts " Spanish => #{word["spanish"]}".cyan
|
30
|
+
puts " Pronounce => #{word["sounds"]}".cyan
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
|
2
|
+
require_relative 'learn-japanese/version'
|
3
|
+
require_relative 'learn-japanese/game/choose-answer-game'
|
4
|
+
require_relative 'learn-japanese/game/short-answer-game'
|
5
|
+
|
6
|
+
module LearnJapanese
|
7
|
+
|
8
|
+
def self.show_version
|
9
|
+
puts "#{LearnJapanese::NAME} (version #{LearnJapanese::VERSION})"
|
10
|
+
end
|
11
|
+
|
12
|
+
def self.show_help
|
13
|
+
puts "Usage: learn-japanese --help"
|
14
|
+
exit 0
|
15
|
+
end
|
16
|
+
|
17
|
+
def self.choose_answer(level)
|
18
|
+
show_help unless level > 0
|
19
|
+
ChooseAnswerGame.show_help(level)
|
20
|
+
ChooseAnswerGame.new(level).run
|
21
|
+
end
|
22
|
+
|
23
|
+
def self.short_answer(level)
|
24
|
+
show_help unless level > 0
|
25
|
+
ShortAnswerGame.show_help(level)
|
26
|
+
ShortAnswerGame.new(level).run
|
27
|
+
end
|
28
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: learn-japanese
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Vargas Ruiz
|
@@ -24,10 +24,25 @@ dependencies:
|
|
24
24
|
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: thor
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
27
41
|
description:
|
28
42
|
email: dvarrui@protonmail.com
|
29
43
|
executables:
|
30
44
|
- choose-answer-game
|
45
|
+
- learn-japanese
|
31
46
|
- short-answer-game
|
32
47
|
- sounds-to-hiragana
|
33
48
|
extensions: []
|
@@ -39,16 +54,20 @@ files:
|
|
39
54
|
- README.md
|
40
55
|
- Rakefile
|
41
56
|
- bin/choose-answer-game
|
57
|
+
- bin/learn-japanese
|
42
58
|
- bin/short-answer-game
|
43
59
|
- bin/sounds-to-hiragana
|
44
60
|
- examples/01-emoji.rb
|
45
61
|
- examples/02-emoji.rb
|
46
62
|
- learn-japanese.gemspec
|
63
|
+
- lib/learn-japanese.rb
|
64
|
+
- lib/learn-japanese/cli.rb
|
47
65
|
- lib/learn-japanese/data/words.yaml
|
48
66
|
- lib/learn-japanese/debug.rb
|
49
67
|
- lib/learn-japanese/dictionary.rb
|
50
68
|
- lib/learn-japanese/game/choose-answer-game.rb
|
51
69
|
- lib/learn-japanese/game/short-answer-game.rb
|
70
|
+
- lib/learn-japanese/game/sound-game.rb
|
52
71
|
- lib/learn-japanese/hiragana.rb
|
53
72
|
- lib/learn-japanese/version.rb
|
54
73
|
homepage: https://github.com/dvarrui/learn-japanese
|
@@ -73,5 +92,5 @@ requirements: []
|
|
73
92
|
rubygems_version: 3.3.3
|
74
93
|
signing_key:
|
75
94
|
specification_version: 4
|
76
|
-
summary: Learn Japanese (UNDER DEVELOPMENT
|
95
|
+
summary: Learn Japanese (UNDER DEVELOPMENT)
|
77
96
|
test_files: []
|