jumping_words 0.0.3 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile +2 -0
- data/README.rdoc +18 -7
- data/bin/{jword → jwords} +0 -0
- data/config.rb +4 -2
- data/jwords.gemspec +2 -2
- data/lib/jumping_words.rb +1 -0
- data/lib/jwords/db_words.rb +8 -3
- data/lib/jwords/os.rb +18 -0
- data/lib/jwords/say_words.rb +30 -3
- data/lib/jwords/version.rb +1 -1
- metadata +42 -33
- data/db/jumping_words.csv +0 -3
data/Gemfile
CHANGED
data/README.rdoc
CHANGED
@@ -1,15 +1,24 @@
|
|
1
1
|
= Jumping Words
|
2
|
-
The program for Ubuntu
|
2
|
+
The program for Ubuntu or MAC OS X(!!! Only 10.8 or higher version MAC OS X).
|
3
|
+
Does this: speaks and displays in the pop-up window the word (phrase) and then translated word (phrase).
|
4
|
+
After end of list back to start.
|
3
5
|
|
4
6
|
== Dependencies
|
7
|
+
For linux
|
5
8
|
sudo apt-get install libnotify-bin
|
6
9
|
|
10
|
+
For MAC OS X for the Russian users you must change the voice of system to Milena
|
11
|
+
|
12
|
+
|
7
13
|
== Actions
|
8
14
|
Starting
|
9
|
-
|
15
|
+
jwords -s
|
16
|
+
|
17
|
+
Stoping
|
18
|
+
ctrl+c
|
10
19
|
|
11
20
|
View a list of words
|
12
|
-
|
21
|
+
jwords -l
|
13
22
|
|
14
23
|
1 to write: писать
|
15
24
|
2 root: корень
|
@@ -17,13 +26,15 @@ View a list of words
|
|
17
26
|
...
|
18
27
|
|
19
28
|
Adding words to the database
|
20
|
-
|
21
|
-
|
29
|
+
jwords -a root: корень
|
30
|
+
jwords -a to game: играть
|
22
31
|
|
23
32
|
Delete a word from the database (indicated by the index of the word)
|
24
|
-
|
25
|
-
|
33
|
+
jwords -d 1
|
34
|
+
jwords -d 1 2
|
26
35
|
|
27
36
|
== Install
|
28
37
|
gem install jumping_words
|
29
38
|
|
39
|
+
== ToDo
|
40
|
+
For Ubuntu users give config for changing language system voice.
|
data/bin/{jword → jwords}
RENAMED
File without changes
|
data/config.rb
CHANGED
@@ -1,8 +1,10 @@
|
|
1
1
|
# Database name
|
2
|
-
DATABASE = "
|
2
|
+
DATABASE = "jumping_words_db"
|
3
|
+
# Database directory
|
4
|
+
DATABASE_DIR = ".jwords"
|
3
5
|
# space between word and translate
|
4
6
|
SPACE_WORDS = 3
|
5
7
|
# space iteration
|
6
|
-
SPACE_INTERATION =
|
8
|
+
SPACE_INTERATION = 10
|
7
9
|
#show message box true or false
|
8
10
|
SHOW_MESSAGE = true
|
data/jwords.gemspec
CHANGED
@@ -9,7 +9,7 @@ Gem::Specification.new do |s|
|
|
9
9
|
s.email = ["alex@devmen.com"]
|
10
10
|
s.homepage = "https://github.com/devmen/jumping_words"
|
11
11
|
s.summary = %q{Jumping Words is gem for learning new words foreign languages}
|
12
|
-
s.description = %q{Jumping Words is gem for learning new words foreign languages, only
|
12
|
+
s.description = %q{Jumping Words is gem for learning new words foreign languages, only Ubuntu or MAC OS X(10.8 or higher}
|
13
13
|
|
14
14
|
s.rubyforge_project = "jumping_words"
|
15
15
|
|
@@ -20,5 +20,5 @@ Gem::Specification.new do |s|
|
|
20
20
|
|
21
21
|
# specify any dependencies here; for example:
|
22
22
|
# s.add_development_dependency "rspec"
|
23
|
-
|
23
|
+
s.add_runtime_dependency "terminal-notifier"
|
24
24
|
end
|
data/lib/jumping_words.rb
CHANGED
data/lib/jwords/db_words.rb
CHANGED
@@ -7,8 +7,8 @@ class DbWords
|
|
7
7
|
def initialize(argv=nil)
|
8
8
|
@argv = argv
|
9
9
|
@words = Array.new
|
10
|
-
|
11
|
-
|
10
|
+
@file = File.join(Dir.home, DATABASE_DIR, "#{DATABASE}.csv")
|
11
|
+
create_db unless File.exist?(@file)
|
12
12
|
end
|
13
13
|
|
14
14
|
#collecion of words
|
@@ -61,7 +61,7 @@ class DbWords
|
|
61
61
|
def split
|
62
62
|
w = @argv.join(" ").split(":")
|
63
63
|
if w.size < 2
|
64
|
-
pp 'You mast set ":" on word. Like this: "
|
64
|
+
pp 'You mast set ":" on word. Like this: "jword -a to run: бежать"'
|
65
65
|
end
|
66
66
|
@words = w.map(&:strip)
|
67
67
|
end
|
@@ -78,4 +78,9 @@ class DbWords
|
|
78
78
|
yield(word, idx)
|
79
79
|
end
|
80
80
|
end
|
81
|
+
|
82
|
+
def create_db
|
83
|
+
Dir.mkdir(File.join(Dir.home, DATABASE_DIR), 0700)
|
84
|
+
File.new(@file, File::RDWR|File::CREAT, 0644)
|
85
|
+
end
|
81
86
|
end
|
data/lib/jwords/os.rb
ADDED
data/lib/jwords/say_words.rb
CHANGED
@@ -1,13 +1,23 @@
|
|
1
1
|
class SayWords
|
2
|
+
include OS
|
2
3
|
|
3
4
|
def initialize(collection, options={})
|
4
5
|
@collection = collection
|
5
|
-
@show_message = options[:show_message] ||
|
6
|
-
@space_words = options[:space_words] ||
|
7
|
-
@space_interation = options[:space_interation] ||
|
6
|
+
@show_message = options[:show_message] || SHOW_MESSAGE
|
7
|
+
@space_words = options[:space_words] || SPACE_WORDS
|
8
|
+
@space_interation = options[:space_interation] || SPACE_INTERATION
|
8
9
|
end
|
9
10
|
|
10
11
|
def run
|
12
|
+
if mac?
|
13
|
+
do_mac
|
14
|
+
elsif linux?
|
15
|
+
do_ubuntu
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
private
|
20
|
+
def do_ubuntu
|
11
21
|
loop do
|
12
22
|
@collection.each do |word|
|
13
23
|
puts "I say #{word[0]}"
|
@@ -22,4 +32,21 @@ class SayWords
|
|
22
32
|
end
|
23
33
|
end
|
24
34
|
|
35
|
+
def do_mac
|
36
|
+
loop do
|
37
|
+
@collection.each do |word|
|
38
|
+
puts "I say #{word[0]}"
|
39
|
+
puts 'terminal-notifier -message "'+ word[0] +': '+ word[1] +'" -title "JWords"' if @show_message
|
40
|
+
system 'terminal-notifier -message "'+ word[0] +': '+ word[1] +'" -title "JWords"' if @show_message
|
41
|
+
system 'say "'+ word[0] +'"'
|
42
|
+
sleep @space_words
|
43
|
+
#puts "I say #{word[1]}"
|
44
|
+
system 'say "'+ word[1] +'"'
|
45
|
+
sleep @space_interation
|
46
|
+
end
|
47
|
+
sleep 4 # for notification hiding
|
48
|
+
end
|
49
|
+
|
50
|
+
end
|
51
|
+
|
25
52
|
end
|
data/lib/jwords/version.rb
CHANGED
metadata
CHANGED
@@ -1,66 +1,75 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: jumping_words
|
3
|
-
version: !ruby/object:Gem::Version
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
4
5
|
prerelease:
|
5
|
-
version: 0.0.3
|
6
6
|
platform: ruby
|
7
|
-
authors:
|
7
|
+
authors:
|
8
8
|
- Alex Dmitriev
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
12
|
+
date: 2012-09-21 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: terminal-notifier
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0'
|
22
|
+
type: :runtime
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '0'
|
30
|
+
description: Jumping Words is gem for learning new words foreign languages, only Ubuntu
|
31
|
+
or MAC OS X(10.8 or higher
|
32
|
+
email:
|
18
33
|
- alex@devmen.com
|
19
|
-
executables:
|
20
|
-
-
|
34
|
+
executables:
|
35
|
+
- jwords
|
21
36
|
extensions: []
|
22
|
-
|
23
37
|
extra_rdoc_files: []
|
24
|
-
|
25
|
-
files:
|
38
|
+
files:
|
26
39
|
- .gitignore
|
27
40
|
- Gemfile
|
28
41
|
- README.rdoc
|
29
42
|
- Rakefile
|
30
|
-
- bin/
|
43
|
+
- bin/jwords
|
31
44
|
- config.rb
|
32
|
-
- db/jumping_words.csv
|
33
45
|
- jwords.gemspec
|
34
46
|
- lib/jumping_words.rb
|
35
47
|
- lib/jwords/db_words.rb
|
48
|
+
- lib/jwords/os.rb
|
36
49
|
- lib/jwords/say_words.rb
|
37
50
|
- lib/jwords/version.rb
|
38
51
|
homepage: https://github.com/devmen/jumping_words
|
39
52
|
licenses: []
|
40
|
-
|
41
53
|
post_install_message:
|
42
54
|
rdoc_options: []
|
43
|
-
|
44
|
-
require_paths:
|
55
|
+
require_paths:
|
45
56
|
- lib
|
46
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
57
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
47
58
|
none: false
|
48
|
-
requirements:
|
49
|
-
- -
|
50
|
-
- !ruby/object:Gem::Version
|
51
|
-
version:
|
52
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
59
|
+
requirements:
|
60
|
+
- - ! '>='
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: '0'
|
63
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
53
64
|
none: false
|
54
|
-
requirements:
|
55
|
-
- -
|
56
|
-
- !ruby/object:Gem::Version
|
57
|
-
version:
|
65
|
+
requirements:
|
66
|
+
- - ! '>='
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
58
69
|
requirements: []
|
59
|
-
|
60
70
|
rubyforge_project: jumping_words
|
61
|
-
rubygems_version: 1.8.
|
71
|
+
rubygems_version: 1.8.24
|
62
72
|
signing_key:
|
63
73
|
specification_version: 3
|
64
74
|
summary: Jumping Words is gem for learning new words foreign languages
|
65
75
|
test_files: []
|
66
|
-
|
data/db/jumping_words.csv
DELETED