jumping_words 0.1.1 → 0.2.1
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.rdoc +6 -1
- data/bin/jwords +3 -4
- data/lib/jwords/db_words.rb +17 -1
- data/lib/jwords/say_words.rb +16 -7
- data/lib/jwords/version.rb +1 -1
- metadata +10 -14
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 2c73efa6291f37d1833611a0932f16f2fff36bc1
|
4
|
+
data.tar.gz: 6b1ece8f49ff753321cb3df4250dc0780d064b7a
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 6862549694ca66c1888a9d46eb457489de411fe38669bcf1d4d911250e55ee3955be924f6adfffcc1ba8e56958b3a2238c1c7c2c923d0cb8ab50d4a35dedece2
|
7
|
+
data.tar.gz: a3148c23ace3b12ba3b58bd822aae7ebc4f4257c54469fc2dc4691daad8e46b58a0f4c2d061c60e6d714df13d5c720788fdbeba0ff706e6ae953c5f579e521c2
|
data/README.rdoc
CHANGED
@@ -32,8 +32,13 @@ Adding words to the database
|
|
32
32
|
Delete a word from the database (indicated by the index of the word)
|
33
33
|
jwords -d 1
|
34
34
|
|
35
|
+
If you want to change words in directly in CSV find .jwords directory in your home directory, then open jumping_words_db.csv. After saving the file restart the script.
|
36
|
+
|
35
37
|
== Install
|
36
|
-
gem install jumping_words
|
38
|
+
gem install jumping_words
|
39
|
+
|
40
|
+
For OS X users: you also should install the https://github.com/alloy/terminal-notifier for notifications.
|
41
|
+
brew install terminal-notifier
|
37
42
|
|
38
43
|
== ToDo
|
39
44
|
For Ubuntu users give config for changing language system voice.
|
data/bin/jwords
CHANGED
@@ -12,7 +12,7 @@ optparse = OptionParser.new do|opts|
|
|
12
12
|
#The command addes a word
|
13
13
|
opts.on( '-a', '--add', 'Add the word' ) do
|
14
14
|
if ARGV.empty? or ARGV.size < 2
|
15
|
-
puts 'You mast set 2 words!
|
15
|
+
puts 'You mast set 2 words! First is word, second is translate. Like this: "jwords -a to run: бежать"'
|
16
16
|
exit
|
17
17
|
else
|
18
18
|
db = DbWords.new(ARGV)
|
@@ -21,7 +21,7 @@ optparse = OptionParser.new do|opts|
|
|
21
21
|
end
|
22
22
|
end
|
23
23
|
|
24
|
-
#The command deletes
|
24
|
+
#The command deletes the word
|
25
25
|
opts.on( '-d', '--destroy', 'Delete the word' ) do
|
26
26
|
if ARGV.empty?
|
27
27
|
puts 'You mast set number of word!'
|
@@ -43,7 +43,7 @@ optparse = OptionParser.new do|opts|
|
|
43
43
|
#run the application
|
44
44
|
opts.on( '-s', '--start', 'Start of app' ) do
|
45
45
|
db = DbWords.new
|
46
|
-
app = SayWords.new(
|
46
|
+
app = SayWords.new(:show_message => SHOW_MESSAGE, :space_words => SPACE_WORDS, :space_interation => SPACE_INTERATION)
|
47
47
|
|
48
48
|
begin
|
49
49
|
app.run
|
@@ -55,4 +55,3 @@ optparse = OptionParser.new do|opts|
|
|
55
55
|
end
|
56
56
|
|
57
57
|
optparse.parse!
|
58
|
-
|
data/lib/jwords/db_words.rb
CHANGED
@@ -48,10 +48,26 @@ class DbWords
|
|
48
48
|
list
|
49
49
|
end
|
50
50
|
|
51
|
+
def update(index, updated_row)
|
52
|
+
list_w = collection
|
53
|
+
|
54
|
+
CSV.open(@file, "w") do |csv|
|
55
|
+
list_w.each_with_index do |row, idx|
|
56
|
+
if index == idx
|
57
|
+
csv << updated_row
|
58
|
+
else
|
59
|
+
csv << row
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
GC.start
|
65
|
+
end
|
66
|
+
|
51
67
|
#Print the list of words
|
52
68
|
def list
|
53
69
|
list_of_words do |word, idx|
|
54
|
-
puts "#{idx + 1} #{word[0]}
|
70
|
+
puts "#{idx + 1} #{word[0]} | #{word[1]} | #{word[2]}"
|
55
71
|
end
|
56
72
|
end
|
57
73
|
|
data/lib/jwords/say_words.rb
CHANGED
@@ -1,8 +1,9 @@
|
|
1
1
|
class SayWords
|
2
2
|
include OS
|
3
3
|
|
4
|
-
def initialize(
|
5
|
-
@
|
4
|
+
def initialize(options={})
|
5
|
+
@db = DbWords.new
|
6
|
+
@collection = @db.collection
|
6
7
|
@show_message = options[:show_message] || SHOW_MESSAGE
|
7
8
|
@space_words = options[:space_words] || SPACE_WORDS
|
8
9
|
@space_interation = options[:space_interation] || SPACE_INTERATION
|
@@ -19,13 +20,17 @@ class SayWords
|
|
19
20
|
private
|
20
21
|
def do_ubuntu
|
21
22
|
loop do
|
22
|
-
@collection.
|
23
|
-
puts "
|
23
|
+
@collection.each_with_index do |word, idx|
|
24
|
+
puts "#{word[0]}: #{word[1]} | #{word[2]}"
|
24
25
|
system 'notify-send -i /usr/share/pixmaps/gnome-irc.png "'+ word[0] +'" "'+ word[1] +'" -t 1' if @show_message
|
25
26
|
system 'espeak -v en -s120 "'+ word[0] +'"'
|
26
27
|
sleep @space_words
|
27
28
|
#puts "I say #{word[1]}"
|
28
29
|
system 'espeak -v ru -s120 "'+ word[1] +'"'
|
30
|
+
|
31
|
+
#set number of showing
|
32
|
+
@db.update(idx, [word[0], word[1], !word[2].nil? ? word[2].to_i + 1 : 1])
|
33
|
+
|
29
34
|
sleep @space_interation
|
30
35
|
end
|
31
36
|
sleep 4 # for notification hiding
|
@@ -34,14 +39,18 @@ class SayWords
|
|
34
39
|
|
35
40
|
def do_mac
|
36
41
|
loop do
|
37
|
-
@collection.
|
38
|
-
puts "
|
42
|
+
@collection.each_with_index do |word, idx|
|
43
|
+
puts "#{word[0]}: #{word[1]} | #{!word[2].nil? ? word[2].to_i + 1 : 1}"
|
39
44
|
#puts 'terminal-notifier -message "'+ word[0] +': '+ word[1] +'" -title "JWords"' if @show_message
|
40
|
-
system 'terminal-notifier -message "'+ word[0] +': '+ word[1] +'" -title "
|
45
|
+
system 'terminal-notifier -message "'+ word[0] +': '+ word[1] +'" -title ""' if @show_message
|
41
46
|
system 'say -v Vicki "'+ word[0] +'"'
|
42
47
|
sleep @space_words
|
43
48
|
#puts "I say #{word[1]}"
|
44
49
|
system 'say -v Milena "'+ word[1] +'"'
|
50
|
+
|
51
|
+
#set number of showing
|
52
|
+
@db.update(idx, [word[0], word[1], !word[2].nil? ? word[2].to_i + 1 : 1])
|
53
|
+
|
45
54
|
sleep @space_interation
|
46
55
|
end
|
47
56
|
sleep 4 # for notification hiding
|
data/lib/jwords/version.rb
CHANGED
metadata
CHANGED
@@ -1,30 +1,27 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jumping_words
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.2.1
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Alex Dmitriev
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2015-03-14 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: terminal-notifier
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
|
-
- -
|
17
|
+
- - ">="
|
20
18
|
- !ruby/object:Gem::Version
|
21
19
|
version: '0'
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
|
-
- -
|
24
|
+
- - ">="
|
28
25
|
- !ruby/object:Gem::Version
|
29
26
|
version: '0'
|
30
27
|
description: Jumping Words is gem for learning new words foreign languages, only Ubuntu
|
@@ -36,7 +33,7 @@ executables:
|
|
36
33
|
extensions: []
|
37
34
|
extra_rdoc_files: []
|
38
35
|
files:
|
39
|
-
- .gitignore
|
36
|
+
- ".gitignore"
|
40
37
|
- Gemfile
|
41
38
|
- README.rdoc
|
42
39
|
- Rakefile
|
@@ -50,26 +47,25 @@ files:
|
|
50
47
|
- lib/jwords/version.rb
|
51
48
|
homepage: https://github.com/devmen/jumping_words
|
52
49
|
licenses: []
|
50
|
+
metadata: {}
|
53
51
|
post_install_message:
|
54
52
|
rdoc_options: []
|
55
53
|
require_paths:
|
56
54
|
- lib
|
57
55
|
required_ruby_version: !ruby/object:Gem::Requirement
|
58
|
-
none: false
|
59
56
|
requirements:
|
60
|
-
- -
|
57
|
+
- - ">="
|
61
58
|
- !ruby/object:Gem::Version
|
62
59
|
version: '0'
|
63
60
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
64
|
-
none: false
|
65
61
|
requirements:
|
66
|
-
- -
|
62
|
+
- - ">="
|
67
63
|
- !ruby/object:Gem::Version
|
68
64
|
version: '0'
|
69
65
|
requirements: []
|
70
66
|
rubyforge_project: jumping_words
|
71
|
-
rubygems_version:
|
67
|
+
rubygems_version: 2.4.3
|
72
68
|
signing_key:
|
73
|
-
specification_version:
|
69
|
+
specification_version: 4
|
74
70
|
summary: Jumping Words is gem for learning new words foreign languages
|
75
71
|
test_files: []
|