fuubar 1.2.1 → 1.3.2

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.
data/LICENSE CHANGED
@@ -1,3 +1,23 @@
1
- Copyright 2010 Jeff Kreeftmeijer.
2
- You may use this work without restrictions, as long as this notice is included.
3
- The work is provided "as is" without warranty of any kind, neither express nor implied.
1
+ (The MIT License)
2
+
3
+ Copyright (c) 2010 Jeff Kreeftmeijer.
4
+ Copyright (c) 2013 The Kompanee - Jeff Felchner
5
+
6
+ Permission is hereby granted, free of charge, to any person obtaining
7
+ a copy of this software and associated documentation files (the
8
+ "Software"), to deal in the Software without restriction, including
9
+ without limitation the rights to use, copy, modify, merge, publish,
10
+ distribute, sublicense, and/or sell copies of the Software, and to
11
+ permit persons to whom the Software is furnished to do so, subject to
12
+ the following conditions:
13
+
14
+ The above copyright notice and this permission notice shall be
15
+ included in all copies or substantial portions of the Software.
16
+
17
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
18
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
19
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
20
+ IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
21
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
22
+ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
23
+ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,81 @@
1
+ Fuubar ![Travis CI Status](https://travis-ci.org/jeffkreeftmeijer/fuubar.png)
2
+ ================================================================================
3
+
4
+ Fuubar is an instafailing [RSpec](http://github.com/rspec) formatter that uses a progress bar instead of a string of letters and dots as feedback. Here's [a video of Fuubar in action](http://vimeo.com/16845253).
5
+
6
+ Supported Rubies
7
+ --------------------------------
8
+ * MRI Ruby 1.8.7
9
+ * MRI Ruby 1.9.2
10
+ * MRI Ruby 1.9.3
11
+ * MRI Ruby 2.0.0
12
+ * JRuby (in 1.8 compat mode)
13
+ * JRuby (in 1.9 compat mode)
14
+
15
+ Installation
16
+ --------------------------------------------------------------------------------
17
+
18
+ First:
19
+
20
+ ```ruby
21
+ gem install ruby-progressbar
22
+ ```
23
+
24
+ or in your Gemfile
25
+
26
+ ```ruby
27
+ gem 'ruby-progressbar'
28
+ ```
29
+
30
+ Then, when running rspec:
31
+
32
+ ```
33
+ rspec --format Fuubar --color spec
34
+ ```
35
+
36
+ Or, if you want to use Fuubar as your default formatter, simply put the options in your `.rspec` file:
37
+
38
+ --format Fuubar
39
+ --color
40
+
41
+ Advanced Usage
42
+ --------------------------------
43
+
44
+ ### Customizing the Bar ###
45
+
46
+ Fuubar exposes an RSpec configuration variable called `fuubar_progress_bar_options` which, when set will be passed directly to [ruby-progressbar](https://github.com/jfelchner/ruby-progressbar) which does all the heavy lifting. Take a look at the documentation for details on all of the options you can pass in.
47
+
48
+ Let's say for example that you would like to change the format of the bar. You would do that like so:
49
+
50
+ ```ruby
51
+ # spec_helper.rb
52
+
53
+ RSpec.configure do |config|
54
+ config.fuubar_progress_bar_options = { :format => 'My Fuubar! <%B> %p%% %a' }
55
+ end
56
+ ```
57
+
58
+ would make it so that, when Fuubar is output, it would look something like:
59
+
60
+ My Fuubar! <================================ > 53.44% 00:12:31
61
+
62
+ Issues
63
+ --------------------------------
64
+
65
+ If you have problems, please create a [Github issue](https://github.com/jeffkreeftmeijer/fuubar/issues).
66
+
67
+ Credits
68
+ --------------------------------
69
+
70
+ fuubar was created by [Jeff Kreeftmeijer](https://github.com/jeffkreeftmeijer)
71
+ fuubar is maintained by [Jeff Kreeftmeijer](https://github.com/jeffkreeftmeijer) and [The Kompanee, Ltd.](http://www.thekompanee.com)
72
+
73
+ Contributing
74
+ --------------------------------------------------------------------------------
75
+
76
+ Found an issue? Have a great idea? Want to help? Great! Create an issue [issue](http://github.com/jeffkreeftmeijer/fuubar/issues) for it, or even better; fork the project and fix the problem yourself. Pull requests are always welcome. :)
77
+
78
+ License
79
+ --------------------------------
80
+
81
+ fuubar is Copyright &copy; 2010-2013 Jeff Kreeftmeijer and Jeff Felchner. It is free software, and may be redistributed under the terms specified in the LICENSE file.
@@ -1,70 +1,102 @@
1
+ require 'rspec'
1
2
  require 'rspec/core/formatters/base_text_formatter'
2
3
  require 'ruby-progressbar'
3
- require 'rspec/instafail'
4
+
5
+ RSpec.configuration.add_setting :fuubar_progress_bar_options, :default => {}
4
6
 
5
7
  class Fuubar < RSpec::Core::Formatters::BaseTextFormatter
8
+ DEFAULT_PROGRESS_BAR_OPTIONS = { :format => ' %c/%C |%w>%i| %e ' }
6
9
 
7
- def start(example_count)
10
+ attr_accessor :progress
11
+
12
+ def initialize(*args)
8
13
  super
9
- @progress_bar = ProgressBar.create(:format => ' %c/%C |%w>%i| %e ', :total => example_count, :output => output)
14
+
15
+ progress_bar_options = DEFAULT_PROGRESS_BAR_OPTIONS.
16
+ merge(:throttle_rate => continuous_integration? ? 1.0 : nil).
17
+ merge(configuration.fuubar_progress_bar_options).
18
+ merge(:total => example_count,
19
+ :output => output,
20
+ :autostart => false)
21
+
22
+ self.progress = ProgressBar.create(progress_bar_options)
10
23
  end
11
24
 
12
- def increment
13
- with_color do
14
- @progress_bar.increment
15
- end
25
+ def start(example_count)
26
+ super
27
+
28
+ progress.total = example_count
29
+
30
+ with_current_color { progress.start }
16
31
  end
17
32
 
18
33
  def example_passed(example)
19
34
  super
35
+
20
36
  increment
21
37
  end
22
38
 
23
39
  def example_pending(example)
24
40
  super
25
- @state = :yellow unless @state == :red
41
+
26
42
  increment
27
43
  end
28
44
 
29
45
  def example_failed(example)
30
46
  super
31
- @state = :red
32
47
 
33
- output.print "\e[K"
34
- instafail.example_failed(example)
48
+ progress.clear
49
+
50
+ dump_failure example, failed_examples.size - 1
51
+ dump_backtrace example
52
+
35
53
  output.puts
36
54
 
37
55
  increment
38
56
  end
39
57
 
40
- def dump_failures
41
- # don't!
42
- end
43
-
44
58
  def message(string)
45
- if @progress_bar.respond_to? :log
46
- @progress_bar.log(string)
59
+ if progress.respond_to? :log
60
+ progress.log(string)
47
61
  else
48
62
  super
49
63
  end
50
64
  end
51
65
 
52
- def instafail
53
- @instafail ||= RSpec::Instafail.new(output)
66
+ def dump_failures
67
+ #
68
+ # We output each failure as it happens so we don't need to output them en
69
+ # masse at the end of the run.
70
+ #
54
71
  end
55
72
 
56
- def with_color
57
- output.print "\e[#{colors[state]}m" if color_enabled?
73
+ private
74
+
75
+ def increment
76
+ with_current_color { progress.increment }
77
+ end
78
+
79
+ def with_current_color
80
+ output.print "\e[#{color_code_for(current_color)}m" if color_enabled?
58
81
  yield
59
- output.print "\e[0m" if color_enabled?
82
+ output.print "\e[0m" if color_enabled?
60
83
  end
61
84
 
62
- def state
63
- @state ||= :green
85
+ def color_enabled?
86
+ super && !continuous_integration?
64
87
  end
65
88
 
66
- def colors
67
- { :red => 31, :green => 32, :yellow => 33 }
89
+ def current_color
90
+ if failed_examples.size > 0
91
+ configuration.failure_color
92
+ elsif pending_examples.size > 0
93
+ configuration.pending_color
94
+ else
95
+ configuration.success_color
96
+ end
68
97
  end
69
98
 
99
+ def continuous_integration?
100
+ @continuous_integration ||= !(ENV['CONTINUOUS_INTEGRATION'].nil? || ENV['CONTINUOUS_INTEGRATION'] == '' || ENV['CONTINUOUS_INTEGRATION'] == 'false')
101
+ end
70
102
  end
@@ -1,127 +1,241 @@
1
- require 'spec_helper'
1
+ require 'fuubar'
2
2
  require 'stringio'
3
3
 
4
4
  describe Fuubar do
5
- let(:output) { StringIO.new }
5
+ let(:output) do
6
+ io = StringIO.new
6
7
 
7
- let(:formatter) do
8
- formatter = Fuubar.new(output)
9
- formatter.start(2)
8
+ allow(io).to receive(:tty?).
9
+ and_return(true)
10
10
 
11
- formatter
11
+ io
12
12
  end
13
13
 
14
- let(:progress_bar) { formatter.instance_variable_get(:@progress_bar) }
15
- let(:example) { RSpec::Core::ExampleGroup.describe.example }
14
+ let(:formatter) { Fuubar.new(output) }
15
+ let(:progress) { formatter.instance_variable_get(:@progress) }
16
+ let(:example) { RSpec::Core::ExampleGroup.describe.example }
16
17
 
18
+ let(:failed_example) do
19
+ exception = RuntimeError.new('Test Fuubar Error')
20
+ exception.set_backtrace [
21
+ "/my/filename.rb:4:in `some_method'",
22
+ ]
17
23
 
18
- describe 'start' do
24
+ example = RSpec::Core::ExampleGroup.describe.example
19
25
 
20
- it 'should create a new ProgressBar' do
21
- progress_bar.should be_instance_of ProgressBar::Base
26
+ example.instance_variable_set(:@metadata, {
27
+ :file_path => '/my/example/spec.rb',
28
+ :execution_result => {
29
+ :exception => exception },
30
+ } )
31
+
32
+ example
33
+ end
34
+
35
+ let(:fuubar_results) do
36
+ output.rewind
37
+ output.read
38
+ end
39
+
40
+ before(:each) do
41
+ RSpec.configuration.fuubar_progress_bar_options = {
42
+ :length => 40,
43
+ :throttle_rate => 0.0,
44
+ }
45
+
46
+ ENV.delete('CONTINUOUS_INTEGRATION')
47
+ end
48
+
49
+ context 'when it is created' do
50
+ it 'does not start the bar until the formatter is started' do
51
+ expect(progress).to be_stopped
52
+
53
+ formatter.start(2)
54
+
55
+ expect(progress).not_to be_stopped
22
56
  end
23
57
 
24
- it 'should set the format of the bar' do
25
- progress_bar.instance_variable_get(:@format_string).should == ' %c/%C |%w>%i| %e '
58
+ it 'creates a new ProgressBar' do
59
+ expect(progress).to be_instance_of ProgressBar::Base
26
60
  end
27
61
 
28
- it 'should set the total amount of specs' do
29
- progress_bar.total.should == 2
62
+ it 'sets the format of the bar' do
63
+ expect(progress.instance_variable_get(:@format_string)).to eql ' %c/%C |%w>%i| %e '
30
64
  end
31
65
 
32
- it 'should set the output' do
33
- progress_bar.send(:output).should == formatter.output
66
+ it 'sets the total to the number of examples' do
67
+ expect(progress.total).to be_zero
34
68
  end
35
69
 
36
- it 'should set the bar mark to =' do
37
- progress_bar.instance_variable_get(:@bar).progress_mark.should == '='
70
+ it 'sets the bar\'s output' do
71
+ expect(progress.send(:output)).to eql formatter.output
72
+ expect(progress.send(:output)).to eql output
38
73
  end
39
74
 
40
- end
75
+ context 'and continuous integration is enabled' do
76
+ before do
77
+ RSpec.configuration.fuubar_progress_bar_options = {:length => 40}
78
+ ENV['CONTINUOUS_INTEGRATION'] = 'true'
79
+ end
41
80
 
42
- describe 'passed, pending and failed' do
81
+ it 'throttles the progress bar at one second' do
82
+ throttle = progress.instance_variable_get(:@throttle)
83
+ throttle_rate = throttle.instance_variable_get(:@period)
43
84
 
44
- before do
45
- formatter.stub!(:increment)
46
- end
85
+ expect(throttle_rate).to eql 1.0
86
+ end
47
87
 
48
- describe 'example_passed' do
88
+ context 'when processing an example' do
89
+ before do
90
+ throttle = progress.instance_variable_get(:@throttle)
91
+ throttle_rate = throttle.instance_variable_set(:@period, 0.0)
49
92
 
50
- it 'should call the increment method' do
51
- formatter.should_receive :increment
52
- formatter.example_passed(example)
53
- end
93
+ formatter.start(2)
54
94
 
55
- end
95
+ output.rewind
56
96
 
57
- describe 'example_pending' do
97
+ formatter.example_passed(example)
98
+ end
58
99
 
59
- it 'should call the increment method' do
60
- formatter.should_receive :increment
61
- formatter.example_pending(example)
100
+ it 'does not output color codes' do
101
+ expect(fuubar_results).to start_with " 1/2 |== 50 ==> | ETA: 00:00:00 \r"
102
+ end
62
103
  end
104
+ end
63
105
 
64
- it 'should set the state to :yellow' do
65
- formatter.example_pending(example)
66
- formatter.state.should == :yellow
106
+ context 'and continuous integration is not enabled' do
107
+ before do
108
+ RSpec.configuration.fuubar_progress_bar_options = {:length => 40}
109
+ ENV['CONTINUOUS_INTEGRATION'] = 'false'
67
110
  end
68
111
 
69
- it 'should not set the state to :yellow when it is :red already' do
70
- formatter.instance_variable_set(:@state, :red)
71
- formatter.example_pending(example)
72
- formatter.state.should == :red
112
+ it 'throttles the progress bar at the default rate' do
113
+ throttle = progress.instance_variable_get(:@throttle)
114
+ throttle_rate = throttle.instance_variable_get(:@period)
115
+
116
+ expect(throttle_rate).to eql 0.01
73
117
  end
74
118
 
119
+ context 'when processing an example' do
120
+ before do
121
+ throttle = progress.instance_variable_get(:@throttle)
122
+ throttle_rate = throttle.instance_variable_set(:@period, 0.0)
123
+
124
+ formatter.start(2)
125
+
126
+ output.rewind
127
+
128
+ formatter.example_passed(example)
129
+ end
130
+
131
+ it 'does not output color codes' do
132
+ expect(fuubar_results).to start_with "\e[32m 1/2 |== 50 ==> | ETA: 00:00:00 \r\e[0m"
133
+ end
134
+ end
75
135
  end
136
+ end
76
137
 
77
- describe 'example_failed' do
138
+ context 'when it is started' do
139
+ before { formatter.start(2) }
78
140
 
141
+ it 'sets the total to the number of examples' do
142
+ expect(progress.total).to eql 2
143
+ end
144
+
145
+ context 'and an example passes' do
79
146
  before do
80
- formatter.instafail.stub!(:example_failed)
147
+ output.rewind
148
+
149
+ formatter.example_passed(example)
81
150
  end
82
151
 
83
- it 'should call the increment method' do
84
- formatter.should_receive :increment
85
- formatter.example_failed(example)
152
+ it 'outputs the proper bar information' do
153
+ expect(fuubar_results).to start_with "\e[32m 1/2 |== 50 ==> | ETA: 00:00:00 \r\e[0m"
86
154
  end
155
+ end
156
+
157
+ context 'and an example pends' do
158
+ before do
159
+ output.rewind
87
160
 
88
- it 'should call instafail.example_failed' do
89
- formatter.instafail.should_receive(:example_failed).with(example)
90
- formatter.example_failed(example)
161
+ formatter.example_pending(example)
91
162
  end
92
163
 
93
- it 'should set the state to :red' do
94
- formatter.example_failed(example)
95
- formatter.state.should == :red
164
+ it 'outputs the proper bar information' do
165
+ expect(fuubar_results).to start_with "\e[33m 1/2 |== 50 ==> | ETA: 00:00:00 \r\e[0m"
96
166
  end
97
167
 
168
+ context 'and then an example succeeds' do
169
+ before do
170
+ output.rewind
171
+
172
+ formatter.example_pending(example)
173
+ end
174
+
175
+ it 'outputs the pending bar' do
176
+ expect(fuubar_results).to start_with "\e[33m 2/2 |===== 100 ======>| Time: 00:00:00 \n\e[0m"
177
+ end
178
+ end
98
179
  end
99
180
 
100
- end
181
+ context 'and an example fails' do
182
+ it 'outputs the proper bar information' do
183
+ output.rewind
101
184
 
102
- describe 'increment' do
185
+ formatter.example_failed(failed_example)
103
186
 
104
- it 'should increment the progress bar' do
105
- progress_bar.should_receive(:increment)
106
- formatter.increment
107
- end
187
+ expect(fuubar_results).to end_with "\e[31m 1/2 |== 50 ==> | ETA: 00:00:00 \r\e[0m"
188
+ end
108
189
 
109
- end
190
+ it 'dumps the failure' do
191
+ allow(formatter).to receive(:dump_failure).
192
+ and_return('dump failure')
110
193
 
111
- describe 'instafail' do
194
+ allow(formatter).to receive(:dump_backtrace).
195
+ and_return('dump backtrace')
112
196
 
113
- it 'should be an instance of RSpec::Instafail' do
114
- formatter.instafail.should be_instance_of(RSpec::Instafail)
115
- end
197
+ formatter.example_failed(failed_example)
116
198
 
117
- end
199
+ expect(formatter).to have_received(:dump_failure).
200
+ with(failed_example, 0)
201
+
202
+ expect(formatter).to have_received(:dump_backtrace).
203
+ with(failed_example)
204
+ end
118
205
 
119
- describe 'state' do
206
+ context 'and then an example succeeds' do
207
+ before do
208
+ formatter.example_failed(failed_example)
209
+
210
+ output.rewind
211
+
212
+ formatter.example_passed(example)
213
+ end
214
+
215
+ it 'outputs the failed bar' do
216
+ expect(fuubar_results).to start_with "\e[31m 2/2 |===== 100 ======>| Time: 00:00:00 \n\e[0m"
217
+ end
218
+ end
120
219
 
121
- it 'should be :green by default' do
122
- formatter.state.should == :green
220
+ context 'and then an example pends' do
221
+ before do
222
+ formatter.example_failed(failed_example)
223
+
224
+ output.rewind
225
+
226
+ formatter.example_pending(example)
227
+ end
228
+
229
+ it 'outputs the failed bar' do
230
+ expect(fuubar_results).to start_with "\e[31m 2/2 |===== 100 ======>| Time: 00:00:00 \n\e[0m"
231
+ end
232
+ end
123
233
  end
124
234
 
125
- end
235
+ it 'can properly log messages' do
236
+ formatter.message 'My Message'
126
237
 
238
+ expect(fuubar_results).to end_with "My Message\n 0/2 |> | ETA: ??:??:?? \r"
239
+ end
240
+ end
127
241
  end
metadata CHANGED
@@ -1,57 +1,48 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fuubar
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.1
4
+ version: 1.3.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
8
8
  - Nicholas Evans
9
9
  - Jeff Kreeftmeijer
10
+ - jfelchner
10
11
  autorequire:
11
12
  bindir: bin
12
13
  cert_chain: []
13
- date: 2013-08-16 00:00:00.000000000 Z
14
+ date: 2013-12-16 00:00:00.000000000 Z
14
15
  dependencies:
15
16
  - !ruby/object:Gem::Dependency
16
17
  name: rspec
17
18
  requirement: !ruby/object:Gem::Requirement
18
19
  none: false
19
20
  requirements:
20
- - - ~>
21
- - !ruby/object:Gem::Version
22
- version: '2.0'
23
- type: :runtime
24
- prerelease: false
25
- version_requirements: !ruby/object:Gem::Requirement
26
- none: false
27
- requirements:
28
- - - ~>
21
+ - - ! '>='
29
22
  - !ruby/object:Gem::Version
30
- version: '2.0'
31
- - !ruby/object:Gem::Dependency
32
- name: ruby-progressbar
33
- requirement: !ruby/object:Gem::Requirement
34
- none: false
35
- requirements:
36
- - - ~>
23
+ version: 2.14.0
24
+ - - <
37
25
  - !ruby/object:Gem::Version
38
- version: '1.0'
26
+ version: 3.1.0
39
27
  type: :runtime
40
28
  prerelease: false
41
29
  version_requirements: !ruby/object:Gem::Requirement
42
30
  none: false
43
31
  requirements:
44
- - - ~>
32
+ - - ! '>='
45
33
  - !ruby/object:Gem::Version
46
- version: '1.0'
34
+ version: 2.14.0
35
+ - - <
36
+ - !ruby/object:Gem::Version
37
+ version: 3.1.0
47
38
  - !ruby/object:Gem::Dependency
48
- name: rspec-instafail
39
+ name: ruby-progressbar
49
40
  requirement: !ruby/object:Gem::Requirement
50
41
  none: false
51
42
  requirements:
52
43
  - - ~>
53
44
  - !ruby/object:Gem::Version
54
- version: 0.2.0
45
+ version: '1.3'
55
46
  type: :runtime
56
47
  prerelease: false
57
48
  version_requirements: !ruby/object:Gem::Requirement
@@ -59,28 +50,26 @@ dependencies:
59
50
  requirements:
60
51
  - - ~>
61
52
  - !ruby/object:Gem::Version
62
- version: 0.2.0
53
+ version: '1.3'
63
54
  description: the instafailing RSpec progress bar formatter
64
55
  email:
65
56
  - jeff@kreeftmeijer.nl
66
57
  executables: []
67
58
  extensions: []
68
- extra_rdoc_files: []
69
- files:
70
- - .gitignore
71
- - .rspec
72
- - Gemfile
59
+ extra_rdoc_files:
60
+ - README.md
73
61
  - LICENSE
74
- - README.textile
75
- - Rakefile
76
- - fuubar.gemspec
62
+ files:
77
63
  - lib/fuubar.rb
64
+ - README.md
65
+ - LICENSE
78
66
  - spec/fuubar_spec.rb
79
- - spec/spec_helper.rb
80
67
  homepage: https://github.com/jeffkreeftmeijer/fuubar
81
68
  licenses: []
82
69
  post_install_message:
83
- rdoc_options: []
70
+ rdoc_options:
71
+ - --charset
72
+ - UTF-8
84
73
  require_paths:
85
74
  - lib
86
75
  required_ruby_version: !ruby/object:Gem::Requirement
@@ -103,5 +92,4 @@ specification_version: 3
103
92
  summary: the instafailing RSpec progress bar formatter
104
93
  test_files:
105
94
  - spec/fuubar_spec.rb
106
- - spec/spec_helper.rb
107
95
  has_rdoc:
data/.gitignore DELETED
@@ -1,4 +0,0 @@
1
- pkg/*
2
- *.gem
3
- .bundle
4
- Gemfile.lock
data/.rspec DELETED
@@ -1,2 +0,0 @@
1
- --color
2
- --format Fuubar
data/Gemfile DELETED
@@ -1,6 +0,0 @@
1
- source "http://rubygems.org"
2
-
3
- # Specify your gem's dependencies in fuubar.gemspec
4
- gemspec
5
-
6
- gem 'rake'
@@ -1,24 +0,0 @@
1
- h1. Fuubar !https://travis-ci.org/jeffkreeftmeijer/fuubar.png!:https://travis-ci.org/jeffkreeftmeijer/fuubar
2
-
3
- Fuubar is an instafailing "RSpec":http://github.com/rspec formatter that uses a progress bar instead of a string of letters and dots as feedback. Here's "a video of Fuubar in action":http://vimeo.com/16845253.
4
-
5
- h2. Installation
6
-
7
- Installing Fuubar is easy. Just put it in your @Gemfile@ and run your specs like this from now on:
8
-
9
- bc. $ rspec --format Fuubar --color spec
10
-
11
- If you want to use Fuubar as your default formatter, simply put the options in your @.rspec@ file:
12
-
13
- bc. --format Fuubar
14
- --color
15
-
16
- h3. Rspec-1
17
-
18
- Use the "fuubar-legacy":https://rubygems.org/gems/fuubar-legacy gem:
19
-
20
- bc. gem 'fuubar-legacy'
21
-
22
- h2. Contributing
23
-
24
- Found an issue? Have a great idea? Want to help? Great! Create an issue "issue":http://github.com/jeffkreeftmeijer/fuubar/issues for it, or even better; fork the project and fix the problem yourself. Pull requests are always welcome. :)
data/Rakefile DELETED
@@ -1,6 +0,0 @@
1
- require 'rake'
2
-
3
- task :default => :spec
4
-
5
- require 'rspec/core/rake_task'
6
- RSpec::Core::RakeTask.new
@@ -1,23 +0,0 @@
1
- # -*- encoding: utf-8 -*-
2
-
3
- Gem::Specification.new do |s|
4
- s.name = "fuubar"
5
- s.version = '1.2.1'
6
- s.platform = Gem::Platform::RUBY
7
- s.authors = ["Nicholas Evans", "Jeff Kreeftmeijer"]
8
- s.email = ["jeff@kreeftmeijer.nl"]
9
- s.homepage = "https://github.com/jeffkreeftmeijer/fuubar"
10
- s.summary = %q{the instafailing RSpec progress bar formatter}
11
- s.description = %q{the instafailing RSpec progress bar formatter}
12
-
13
- s.rubyforge_project = "fuubar"
14
-
15
- s.files = `git ls-files`.split("\n")
16
- s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
17
- s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
18
- s.require_paths = ["lib"]
19
-
20
- s.add_dependency('rspec', ["~> 2.0"])
21
- s.add_dependency('ruby-progressbar', ["~> 1.0"])
22
- s.add_dependency('rspec-instafail', ["~> 0.2.0"])
23
- end
@@ -1 +0,0 @@
1
- require 'fuubar'