rubikon 0.2.0 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
data/LICENSE CHANGED
File without changes
data/README.md CHANGED
File without changes
data/Rakefile CHANGED
File without changes
data/VERSION.yml CHANGED
@@ -1,5 +1,4 @@
1
- ---
1
+ ---
2
2
  :major: 0
3
3
  :minor: 2
4
- :patch: 0
5
- :build:
4
+ :patch: 1
data/lib/rubikon.rb CHANGED
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -29,9 +29,10 @@ module Rubikon
29
29
  @maximum.round
30
30
 
31
31
  @progress_char = options[:char] || '#'
32
- @factor = (options[:size] || 20).round.to_f / @maximum
33
32
  @ostream = options[:ostream] || $stdout
34
33
  @progress = 0
34
+ @size = options[:size] || 20
35
+ @factor = @size.round.to_f / @maximum
35
36
  @value = 0
36
37
 
37
38
  self + (options[:start] || 0)
@@ -48,19 +49,21 @@ module Rubikon
48
49
  # progress_bar + 5 # (will add 5)
49
50
  # progress_bar.+ # (will add 1)
50
51
  def +(value = 1)
51
- return if value <= 0
52
- value = value.round
53
- old_progress = @progress
52
+ return if (value <= 0) || (@value == @maximum)
54
53
  @value += value
55
- add_progress = (value * @factor).round
54
+ old_progress = @progress
55
+ add_progress = ((@value - @progress / @factor) * @factor).round
56
56
  @progress += add_progress
57
57
 
58
- @progress = 100 if @progress > 100
58
+ if @progress > @size
59
+ @progress = @size
60
+ add_progress = @size - old_progress
61
+ end
59
62
 
60
- difference = @progress - old_progress
61
- if difference > 0 && @progress <= @maximum
62
- @ostream << @progress_char * difference
63
+ if add_progress > 0
64
+ @ostream << @progress_char * add_progress
63
65
  @ostream.flush
66
+ @ostream.puts '' if @progress == @size
64
67
  end
65
68
  end
66
69
 
File without changes
data/test/action_tests.rb CHANGED
@@ -10,12 +10,12 @@ class ActionTests < Test::Unit::TestCase
10
10
  context 'A Rubikon action' do
11
11
 
12
12
  should 'throw an exception when no code block is given' do
13
- assert_raise Rubikon::BlockMissingError do
14
- Rubikon::Action.new
13
+ assert_raise BlockMissingError do
14
+ Action.new
15
15
  end
16
- assert_raise Rubikon::BlockMissingError do
16
+ assert_raise BlockMissingError do
17
17
  options = {}
18
- Rubikon::Action.new options
18
+ Action.new options
19
19
  end
20
20
  end
21
21
 
@@ -25,7 +25,7 @@ class ActionTests < Test::Unit::TestCase
25
25
  :param_type => String
26
26
  }
27
27
  assert_nothing_raised do
28
- action = Rubikon::Action.new action_options do end
28
+ action = Action.new action_options do end
29
29
  assert_equal action_options[:description], action.description
30
30
  assert_equal action_options[:param_type], action.param_type
31
31
  end
@@ -61,26 +61,26 @@ class ApplicationTests < Test::Unit::TestCase
61
61
  end
62
62
 
63
63
  should 'not run without a mandatory argument' do
64
- assert_raise Rubikon::MissingArgumentError do
64
+ assert_raise MissingArgumentError do
65
65
  @app.run(%w{--required})
66
66
  end
67
67
  end
68
68
 
69
69
  should 'require an argument type if it has been defined' do
70
- assert_raise Rubikon::ArgumentTypeError do
70
+ assert_raise ArgumentTypeError do
71
71
  @app.run(['--output', 6])
72
72
  end
73
- assert_raise Rubikon::ArgumentTypeError do
73
+ assert_raise ArgumentTypeError do
74
74
  @app.run(['--number_string', 6, 7])
75
75
  end
76
- assert_raise Rubikon::ArgumentTypeError do
76
+ assert_raise ArgumentTypeError do
77
77
  @app.run(['--number_string', 'test' , 6])
78
78
  end
79
79
  end
80
80
 
81
81
  should 'raise an exception when calling an action with the wrong number of
82
82
  arguments' do
83
- assert_raise Rubikon::MissingArgumentError do
83
+ assert_raise MissingArgumentError do
84
84
  @app.run(%w{--output})
85
85
  end
86
86
  assert_raise ArgumentError do
@@ -89,13 +89,13 @@ class ApplicationTests < Test::Unit::TestCase
89
89
  end
90
90
 
91
91
  should 'raise an exception when using an unknown option' do
92
- assert_raise Rubikon::UnknownOptionError do
92
+ assert_raise UnknownOptionError do
93
93
  @app.run(%w{--unknown})
94
94
  end
95
- assert_raise Rubikon::UnknownOptionError do
95
+ assert_raise UnknownOptionError do
96
96
  @app.run(%w{--noarg --unknown})
97
97
  end
98
- assert_raise Rubikon::UnknownOptionError do
98
+ assert_raise UnknownOptionError do
99
99
  @app.run(%w{--unknown --noarg})
100
100
  end
101
101
  end
@@ -10,7 +10,7 @@ class ProgressBarTests < Test::Unit::TestCase
10
10
  context 'A progress bar' do
11
11
 
12
12
  should 'have default settings' do
13
- @bar = Rubikon::ProgressBar.new
13
+ @bar = ProgressBar.new
14
14
  assert_equal 0.2, @bar.instance_variable_get(:@factor)
15
15
  assert_equal 100, @bar.instance_variable_get(:@maximum)
16
16
  assert_equal $stdout, @bar.instance_variable_get(:@ostream)
@@ -27,7 +27,7 @@ class ProgressBarTests < Test::Unit::TestCase
27
27
  :size => 100,
28
28
  :start => 5
29
29
  }
30
- @bar = Rubikon::ProgressBar.new(options)
30
+ @bar = ProgressBar.new(options)
31
31
  assert_equal options[:size].to_f / options[:maximum], @bar.instance_variable_get(:@factor)
32
32
  assert_equal options[:maximum], @bar.instance_variable_get(:@maximum)
33
33
  assert_equal options[:ostream], @bar.instance_variable_get(:@ostream)
@@ -40,15 +40,15 @@ class ProgressBarTests < Test::Unit::TestCase
40
40
  ostream = StringIO.new
41
41
  options = { :ostream => ostream, :start => 50 }
42
42
 
43
- @bar = Rubikon::ProgressBar.new(options)
43
+ @bar = ProgressBar.new(options)
44
44
  assert_equal "#" * 10, ostream.string
45
45
  @bar + 50
46
- assert_equal "#" * 20, ostream.string
46
+ assert_equal ("#" * 20) << "\n", ostream.string
47
47
 
48
48
  ostream.string = ''
49
49
  options[:size] = 10
50
50
 
51
- @bar = Rubikon::ProgressBar.new(options)
51
+ @bar = ProgressBar.new(options)
52
52
  assert_equal "#" * 5, ostream.string
53
53
  @bar + 10
54
54
  assert_equal "#" * 6, ostream.string
@@ -56,7 +56,7 @@ class ProgressBarTests < Test::Unit::TestCase
56
56
  ostream.string = ''
57
57
  options[:size] = 100
58
58
 
59
- @bar = Rubikon::ProgressBar.new(options)
59
+ @bar = ProgressBar.new(options)
60
60
  assert_equal "#" * 50, ostream.string
61
61
  @bar + 30
62
62
  assert_equal "#" * 80, ostream.string
@@ -66,26 +66,26 @@ class ProgressBarTests < Test::Unit::TestCase
66
66
  ostream = StringIO.new
67
67
  options = { :ostream => ostream, :size => 100 }
68
68
 
69
- @bar = Rubikon::ProgressBar.new options
69
+ @bar = ProgressBar.new options
70
70
  @bar + 101
71
- assert_equal "#" * 100, ostream.string
71
+ assert_equal ("#" * 100) << "\n", ostream.string
72
72
  assert_equal 100, @bar.instance_variable_get(:@progress)
73
73
  assert_equal 101, @bar.instance_variable_get(:@value)
74
74
 
75
75
  ostream.string = ''
76
76
  options[:start] = 50
77
77
 
78
- @bar = Rubikon::ProgressBar.new options
78
+ @bar = ProgressBar.new options
79
79
  @bar + 51
80
- assert_equal "#" * 100, ostream.string
80
+ assert_equal ("#" * 100) << "\n", ostream.string
81
81
  assert_equal 100, @bar.instance_variable_get(:@progress)
82
82
  assert_equal 101, @bar.instance_variable_get(:@value)
83
83
 
84
84
  ostream.string = ''
85
85
  options[:start] = 101
86
-
87
- @bar = Rubikon::ProgressBar.new options
88
- assert_equal "#" * 100, ostream.string
86
+
87
+ @bar = ProgressBar.new options
88
+ assert_equal ("#" * 100) << "\n", ostream.string
89
89
  assert_equal 100, @bar.instance_variable_get(:@progress)
90
90
  assert_equal 101, @bar.instance_variable_get(:@value)
91
91
  end
data/test/test_helper.rb CHANGED
File without changes
data/test/testapp.rb CHANGED
@@ -3,7 +3,7 @@
3
3
  #
4
4
  # Copyright (c) 2009, Sebastian Staudt
5
5
 
6
- class RubikonTestApp < Rubikon::Application::Base
6
+ class RubikonTestApp < Application::Base
7
7
 
8
8
  set :autorun, false
9
9
  set :name, 'Rubikon test application'
@@ -10,12 +10,17 @@ class ThrobberTests < Test::Unit::TestCase
10
10
  context 'A throbber' do
11
11
 
12
12
  should 'be a subclass of Thread' do
13
- assert_equal Thread, Rubikon::Throbber.superclass
13
+ assert_equal Thread, Throbber.superclass
14
14
  end
15
15
 
16
16
  should 'have default throbber strings' do
17
- assert_equal %w{SPINNER}, Throbber.constants
18
- assert_equal '-\|/', Rubikon::Throbber.const_get(:SPINNER)
17
+ unless RUBY_VERSION[0..2] == '1.9'
18
+ consts = %w{SPINNER}
19
+ else
20
+ consts = [:SPINNER, :MUTEX_FOR_THREAD_EXCLUSIVE]
21
+ end
22
+ assert_equal consts, Throbber.constants
23
+ assert_equal '-\|/', Throbber.const_get(:SPINNER)
19
24
  end
20
25
 
21
26
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rubikon
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sebastian Staudt
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-11-07 00:00:00 +01:00
12
+ date: 2009-11-09 00:00:00 +01:00
13
13
  default_executable:
14
14
  dependencies: []
15
15
 
@@ -34,7 +34,6 @@ files:
34
34
  - lib/rubikon/application/instance_methods.rb
35
35
  - lib/rubikon/exceptions.rb
36
36
  - lib/rubikon/progress_bar.rb
37
- - lib/rubikon/setter.rb
38
37
  - lib/rubikon/throbber.rb
39
38
  - test/action_tests.rb
40
39
  - test/application_tests.rb
@@ -78,6 +77,6 @@ test_files:
78
77
  - test/action_tests.rb
79
78
  - test/application_tests.rb
80
79
  - test/progress_bar_tests.rb
81
- - test/test_helper.rb
82
80
  - test/testapp.rb
81
+ - test/test_helper.rb
83
82
  - test/throbber_tests.rb
@@ -1,17 +0,0 @@
1
- # This code is free software; you can redistribute it and/or modify it under the
2
- # terms of the new BSD License.
3
- #
4
- # Copyright (c) 2009, Sebastian Staudt
5
-
6
- module Rubikon
7
-
8
- class Setter < Action
9
-
10
- def run(*args)
11
-
12
- super
13
- end
14
-
15
- end
16
-
17
- end