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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d02765588dd4c833d4f9bc66fae716c149dba520
4
- data.tar.gz: 049a0aabbe96cf5f94c546c4b10364b6b4857102
3
+ metadata.gz: 3667c3eb9700f16c394fa7146658d84898eca76d
4
+ data.tar.gz: 3df19758ab2f9269019b72762dba1c49f3d322c3
5
5
  SHA512:
6
- metadata.gz: 0f06fac5f5bd7d38d899591191e178b42974128611b0016ded2ee0b12c0d1a5e2cc6b77e863a504e2911444e34ef24ae2e9cc00cd5d93e7cc5031def0de99c29
7
- data.tar.gz: dd850abc9e3efa1d99d6484fdf67babd3564ff4487a94dd151ef170015d9391c821cd720bda13dfa9e12c97030f327640753b7d02302b0c7a0a24688ecbf76ea
6
+ metadata.gz: 34ce48b740896a1dcab654472651540de65fc406e52c1382e29c0c3f9547e85119565440aeec0085d369e79901eb2d8b01b3fbb82076a71a33ae6752c75cfb5f
7
+ data.tar.gz: d96845e0a919626da1b9c7f74c1c611ac22e6251a8ec4fe2b30f72959d55d3ced45ec93967c7198a9e3d44f1ba72cdb1cede979b64699f7371eccabe8b7d5bd1
@@ -1,11 +1,10 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- doro (0.0.1)
4
+ doro (0.2.0)
5
5
  gli (= 2.13.4)
6
- notifier
7
- ruby-progressbar
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
@@ -29,10 +29,7 @@ For detailed information.
29
29
  ## Todo
30
30
 
31
31
  - [ ] number flag on list
32
- - [ ] time flag on break
33
- - [ ] long switch on break
34
32
  - [ ] remove dependencies
35
- - [ ] colorize
36
33
 
37
34
  ### Notifications
38
35
 
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
- puts ''
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
- bar = ProgressBar.create(
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
 
Binary file
@@ -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 = 'http://www.orochena.net'
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
 
@@ -1,5 +1,6 @@
1
1
  require 'doro/version.rb'
2
2
  require 'doro/entries.rb'
3
+ require 'doro/progressbar.rb'
3
4
 
4
5
  # Add requires for other files you add to your project here, so
5
6
  # you just need to require this one file in your bin file
@@ -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
@@ -1,3 +1,3 @@
1
1
  module Doro
2
- VERSION = '0.1.0'
2
+ VERSION = '0.2.0'
3
3
  end
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.1.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-25 00:00:00.000000000 Z
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: http://www.orochena.net
180
+ homepage: https://github.com/morochena/doro
193
181
  licenses: []
194
182
  metadata: {}
195
183
  post_install_message: