doro 0.1.0 → 0.2.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/Gemfile.lock +6 -8
- data/README.md +0 -3
- data/bin/doro +2 -16
- data/doro-0.1.0.gem +0 -0
- data/doro.gemspec +1 -2
- data/lib/doro.rb +1 -0
- data/lib/doro/progressbar.rb +75 -0
- data/lib/doro/version.rb +1 -1
- metadata +5 -17
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3667c3eb9700f16c394fa7146658d84898eca76d
|
4
|
+
data.tar.gz: 3df19758ab2f9269019b72762dba1c49f3d322c3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 34ce48b740896a1dcab654472651540de65fc406e52c1382e29c0c3f9547e85119565440aeec0085d369e79901eb2d8b01b3fbb82076a71a33ae6752c75cfb5f
|
7
|
+
data.tar.gz: d96845e0a919626da1b9c7f74c1c611ac22e6251a8ec4fe2b30f72959d55d3ced45ec93967c7198a9e3d44f1ba72cdb1cede979b64699f7371eccabe8b7d5bd1
|
data/Gemfile.lock
CHANGED
@@ -1,11 +1,10 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
doro (0.0
|
4
|
+
doro (0.2.0)
|
5
5
|
gli (= 2.13.4)
|
6
|
-
notifier
|
7
|
-
|
8
|
-
terminal-notifier
|
6
|
+
notifier (~> 0.5)
|
7
|
+
terminal-notifier (~> 1.6)
|
9
8
|
|
10
9
|
GEM
|
11
10
|
remote: https://rubygems.org/
|
@@ -47,7 +46,6 @@ GEM
|
|
47
46
|
diff-lcs (>= 1.2.0, < 2.0)
|
48
47
|
rspec-support (~> 3.4.0)
|
49
48
|
rspec-support (3.4.1)
|
50
|
-
ruby-progressbar (1.7.5)
|
51
49
|
terminal-notifier (1.6.3)
|
52
50
|
thor (0.19.1)
|
53
51
|
|
@@ -55,10 +53,10 @@ PLATFORMS
|
|
55
53
|
ruby
|
56
54
|
|
57
55
|
DEPENDENCIES
|
58
|
-
aruba
|
56
|
+
aruba (~> 0.13)
|
59
57
|
doro!
|
60
|
-
rake
|
61
|
-
rdoc
|
58
|
+
rake (~> 10.5)
|
59
|
+
rdoc (~> 4.2)
|
62
60
|
|
63
61
|
BUNDLED WITH
|
64
62
|
1.11.2
|
data/README.md
CHANGED
data/bin/doro
CHANGED
@@ -3,7 +3,6 @@ require 'gli'
|
|
3
3
|
require 'fileutils'
|
4
4
|
require 'csv'
|
5
5
|
require 'date'
|
6
|
-
require 'ruby-progressbar'
|
7
6
|
require 'notifier'
|
8
7
|
|
9
8
|
require 'doro'
|
@@ -50,14 +49,7 @@ command :start do |c|
|
|
50
49
|
start_time = Time.now
|
51
50
|
seconds = 0
|
52
51
|
|
53
|
-
|
54
|
-
bar = ProgressBar.create(
|
55
|
-
:title => task_name,
|
56
|
-
:format => '%a [%B] %t',
|
57
|
-
:progress_mark => '=',
|
58
|
-
:remainder_mark => ' ',
|
59
|
-
:total => 1500
|
60
|
-
)
|
52
|
+
ProgressBar.new(task_name, 1500).start
|
61
53
|
|
62
54
|
Signal.trap("INT") { interrupt = true }
|
63
55
|
|
@@ -107,13 +99,7 @@ command :break do |c|
|
|
107
99
|
minutes = options[:t]
|
108
100
|
options[:long]? minutes = 15 : nil
|
109
101
|
|
110
|
-
|
111
|
-
:title => 'Break',
|
112
|
-
:format => '%a %bᗧ%i %t',
|
113
|
-
:progress_mark => ' ',
|
114
|
-
:remainder_mark => '・',
|
115
|
-
:total => minutes * 60
|
116
|
-
)
|
102
|
+
ProgressBar.new('Break', minutes * 60).start
|
117
103
|
|
118
104
|
Signal.trap("INT") { interrupt = true }
|
119
105
|
|
data/doro-0.1.0.gem
ADDED
Binary file
|
data/doro.gemspec
CHANGED
@@ -5,7 +5,7 @@ spec = Gem::Specification.new do |s|
|
|
5
5
|
s.version = Doro::VERSION
|
6
6
|
s.author = 'Marcus Orochena'
|
7
7
|
s.email = 'marcus@orochena.net'
|
8
|
-
s.homepage = '
|
8
|
+
s.homepage = 'https://github.com/morochena/doro'
|
9
9
|
s.platform = Gem::Platform::RUBY
|
10
10
|
s.summary = 'A minimalist pomodoro cli application'
|
11
11
|
s.files = `git ls-files`.split("
|
@@ -18,7 +18,6 @@ spec = Gem::Specification.new do |s|
|
|
18
18
|
s.add_development_dependency('rdoc', '~> 4.2')
|
19
19
|
s.add_development_dependency('aruba', '~> 0.13')
|
20
20
|
|
21
|
-
s.add_dependency('ruby-progressbar', '~> 1.7')
|
22
21
|
s.add_dependency('notifier', '~> 0.5')
|
23
22
|
s.add_dependency('terminal-notifier', '~> 1.6')
|
24
23
|
|
data/lib/doro.rb
CHANGED
@@ -0,0 +1,75 @@
|
|
1
|
+
require 'io/console'
|
2
|
+
require 'time'
|
3
|
+
|
4
|
+
class ProgressBar
|
5
|
+
def initialize(title, max_progress)
|
6
|
+
@progress = 0
|
7
|
+
@max_progress = max_progress
|
8
|
+
@title = title
|
9
|
+
@start_time = Time.now
|
10
|
+
end
|
11
|
+
|
12
|
+
def start
|
13
|
+
while (@progress <= @max_progress)
|
14
|
+
render_progress
|
15
|
+
sleep 1
|
16
|
+
@progress += 1
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
private
|
21
|
+
|
22
|
+
def render_progress
|
23
|
+
print @title
|
24
|
+
print " ["
|
25
|
+
print "=" * progress_bar_ticks
|
26
|
+
print " " * remaining_bar_ticks rescue 0
|
27
|
+
print "] "
|
28
|
+
print "\e[32m#{display_time}\e[0m"
|
29
|
+
print "\r"
|
30
|
+
end
|
31
|
+
|
32
|
+
# Methods for determing time
|
33
|
+
|
34
|
+
def display_time
|
35
|
+
Time.at((Time.now - @start_time)).utc.strftime("%M:%S")
|
36
|
+
end
|
37
|
+
|
38
|
+
# Methods for determing progress bar length
|
39
|
+
def progress_bar_ticks
|
40
|
+
(percent * (terminal_length - other_items_length)).to_i
|
41
|
+
end
|
42
|
+
|
43
|
+
def remaining_bar_ticks
|
44
|
+
terminal_length - progress_bar_ticks - other_items_length
|
45
|
+
end
|
46
|
+
|
47
|
+
def percent
|
48
|
+
(@progress.to_f / @max_progress)
|
49
|
+
end
|
50
|
+
|
51
|
+
def other_items_length
|
52
|
+
@title.size + 10
|
53
|
+
end
|
54
|
+
|
55
|
+
|
56
|
+
# Methods for determining terminal length
|
57
|
+
def terminal_length
|
58
|
+
return 80 unless unix?
|
59
|
+
|
60
|
+
result = dynamic_width
|
61
|
+
result < 20? 80 : result
|
62
|
+
|
63
|
+
rescue
|
64
|
+
80
|
65
|
+
end
|
66
|
+
|
67
|
+
def dynamic_width
|
68
|
+
_rows, columns = IO.console.winsize
|
69
|
+
columns
|
70
|
+
end
|
71
|
+
|
72
|
+
def unix?
|
73
|
+
RUBY_PLATFORM =~ /(aix|darwin|linux|(net|free|open)bsd|cygwin|solaris|irix|hpux)/i
|
74
|
+
end
|
75
|
+
end
|
data/lib/doro/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: doro
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Marcus Orochena
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-02-
|
11
|
+
date: 2016-02-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -52,20 +52,6 @@ dependencies:
|
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '0.13'
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
|
-
name: ruby-progressbar
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
58
|
-
requirements:
|
59
|
-
- - "~>"
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: '1.7'
|
62
|
-
type: :runtime
|
63
|
-
prerelease: false
|
64
|
-
version_requirements: !ruby/object:Gem::Requirement
|
65
|
-
requirements:
|
66
|
-
- - "~>"
|
67
|
-
- !ruby/object:Gem::Version
|
68
|
-
version: '1.7'
|
69
55
|
- !ruby/object:Gem::Dependency
|
70
56
|
name: notifier
|
71
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -178,6 +164,7 @@ files:
|
|
178
164
|
- doc/js/search_index.js
|
179
165
|
- doc/js/searcher.js
|
180
166
|
- doc/table_of_contents.html
|
167
|
+
- doro-0.1.0.gem
|
181
168
|
- doro.gemspec
|
182
169
|
- doro.rdoc
|
183
170
|
- features/doro.feature
|
@@ -185,11 +172,12 @@ files:
|
|
185
172
|
- features/support/env.rb
|
186
173
|
- lib/doro.rb
|
187
174
|
- lib/doro/entries.rb
|
175
|
+
- lib/doro/progressbar.rb
|
188
176
|
- lib/doro/version.rb
|
189
177
|
- results.html
|
190
178
|
- test/default_test.rb
|
191
179
|
- test/test_helper.rb
|
192
|
-
homepage:
|
180
|
+
homepage: https://github.com/morochena/doro
|
193
181
|
licenses: []
|
194
182
|
metadata: {}
|
195
183
|
post_install_message:
|