teaspoon 1.1.2 → 1.2.1

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.
Files changed (53) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +47 -0
  3. data/MIT.LICENSE +2 -2
  4. data/README.md +56 -35
  5. data/app/assets/javascripts/teaspoon/hook.coffee +1 -1
  6. data/app/assets/javascripts/teaspoon/teaspoon.coffee +13 -1
  7. data/app/controllers/teaspoon/suite_controller.rb +25 -11
  8. data/app/views/teaspoon/suite/index.html.erb +1 -1
  9. data/lib/generators/teaspoon/install/install_generator.rb +34 -34
  10. data/lib/generators/teaspoon/install/templates/MISSING_FRAMEWORK +1 -1
  11. data/lib/generators/teaspoon/install/templates/POST_INSTALL +1 -1
  12. data/lib/generators/teaspoon/install/templates/_boot.html.erb +1 -1
  13. data/lib/generators/teaspoon/install/templates/env_comments.rb.tt +9 -7
  14. data/lib/tasks/teaspoon/info.rake +1 -1
  15. data/lib/teaspoon/command_line.rb +76 -76
  16. data/lib/teaspoon/configuration.rb +4 -4
  17. data/lib/teaspoon/console.rb +41 -40
  18. data/lib/teaspoon/coverage.rb +29 -25
  19. data/lib/teaspoon/deprecated.rb +1 -1
  20. data/lib/teaspoon/driver.rb +1 -1
  21. data/lib/teaspoon/driver/browserstack.rb +111 -0
  22. data/lib/teaspoon/driver/phantomjs.rb +25 -26
  23. data/lib/teaspoon/driver/phantomjs/runner.js +31 -3
  24. data/lib/teaspoon/driver/selenium.rb +13 -9
  25. data/lib/teaspoon/engine.rb +32 -16
  26. data/lib/teaspoon/environment.rb +28 -28
  27. data/lib/teaspoon/exceptions.rb +7 -7
  28. data/lib/teaspoon/exporter.rb +23 -23
  29. data/lib/teaspoon/formatter/base.rb +64 -46
  30. data/lib/teaspoon/formatter/clean.rb +2 -2
  31. data/lib/teaspoon/formatter/documentation.rb +40 -40
  32. data/lib/teaspoon/formatter/dot.rb +12 -12
  33. data/lib/teaspoon/formatter/json.rb +21 -21
  34. data/lib/teaspoon/formatter/junit.rb +52 -51
  35. data/lib/teaspoon/formatter/modules/report_module.rb +34 -32
  36. data/lib/teaspoon/formatter/pride.rb +21 -21
  37. data/lib/teaspoon/formatter/rspec_html.rb +31 -31
  38. data/lib/teaspoon/formatter/snowday.rb +6 -5
  39. data/lib/teaspoon/formatter/swayze_or_oprah.rb +91 -91
  40. data/lib/teaspoon/formatter/tap.rb +29 -29
  41. data/lib/teaspoon/formatter/tap_y.rb +57 -57
  42. data/lib/teaspoon/formatter/teamcity.rb +63 -63
  43. data/lib/teaspoon/framework/base.rb +1 -1
  44. data/lib/teaspoon/instrumentation.rb +18 -18
  45. data/lib/teaspoon/registry.rb +9 -9
  46. data/lib/teaspoon/registry/has_default.rb +2 -2
  47. data/lib/teaspoon/runner.rb +37 -37
  48. data/lib/teaspoon/server.rb +30 -29
  49. data/lib/teaspoon/suite.rb +68 -57
  50. data/lib/teaspoon/utility.rb +6 -0
  51. data/lib/teaspoon/version.rb +1 -1
  52. metadata +10 -17
  53. data/lib/teaspoon/driver/capybara_webkit.rb +0 -40
@@ -15,6 +15,8 @@ module Teaspoon
15
15
  log_line
16
16
  end
17
17
 
18
+ alias_method :log_exception, :log_error
19
+
18
20
  def log_result(result)
19
21
  log_information
20
22
  log_stats(result)
@@ -31,46 +33,46 @@ module Teaspoon
31
33
 
32
34
  private
33
35
 
34
- def log_information
35
- log_pending if pendings.size > 0
36
- log_failures if failures.size > 0
37
- end
36
+ def log_information
37
+ log_pending if pendings.size > 0
38
+ log_failures if failures.size > 0
39
+ end
38
40
 
39
- def log_pending
40
- log_line("Pending:")
41
- pendings.each do |result|
42
- log_line(" #{result.description}", YELLOW)
43
- log_line(" # Not yet implemented\n", CYAN)
41
+ def log_pending
42
+ log_line("Pending:")
43
+ pendings.each do |result|
44
+ log_line(" #{result.description}", YELLOW)
45
+ log_line(" # Not yet implemented\n", CYAN)
46
+ end
44
47
  end
45
- end
46
48
 
47
- def log_failures
48
- log_line("Failures:\n")
49
- failures.each_with_index do |failure, index|
50
- log_line(" #{index + 1}) #{failure.description}")
51
- log_line(" Failure/Error: #{failure.message}\n", RED)
49
+ def log_failures
50
+ log_line("Failures:\n")
51
+ failures.each_with_index do |failure, index|
52
+ log_line(" #{index + 1}) #{failure.description}")
53
+ log_line(" Failure/Error: #{failure.message}\n", RED)
54
+ end
52
55
  end
53
- end
54
56
 
55
- def log_stats(result)
56
- log_line("Finished in #{result.elapsed} seconds")
57
- stats = "#{pluralize('example', run_count)}, #{pluralize('failure', failures.size)}"
58
- stats << ", #{pendings.size} pending" if pendings.size > 0
59
- log_line(stats, stats_color)
60
- end
57
+ def log_stats(result)
58
+ log_line("Finished in #{result.elapsed} seconds")
59
+ stats = "#{pluralize('example', run_count)}, #{pluralize('failure', failures.size)}"
60
+ stats << ", #{pendings.size} pending" if pendings.size > 0
61
+ log_line(stats, stats_color)
62
+ end
61
63
 
62
- def log_failed_examples
63
- return if failures.size == 0
64
- log_line
65
- log_line("Failed examples:\n")
66
- failures.each do |failure|
67
- log_line("teaspoon -s #{@suite_name} --filter=\"#{failure.link}\"", RED)
64
+ def log_failed_examples
65
+ return if failures.size == 0
66
+ log_line
67
+ log_line("Failed examples:\n")
68
+ failures.each do |failure|
69
+ log_line("teaspoon -s #{@suite_name} --filter=\"#{failure.link}\"", RED)
70
+ end
68
71
  end
69
- end
70
72
 
71
- def stats_color
72
- failures.size > 0 ? RED : pendings.size > 0 ? YELLOW : GREEN
73
- end
73
+ def stats_color
74
+ failures.size > 0 ? RED : pendings.size > 0 ? YELLOW : GREEN
75
+ end
74
76
  end
75
77
  end
76
78
  end
@@ -12,34 +12,34 @@ module Teaspoon
12
12
 
13
13
  protected
14
14
 
15
- def log_spec(result)
16
- return log_pride if result.passing?
17
- super
18
- end
15
+ def log_spec(result)
16
+ return log_pride if result.passing?
17
+ super
18
+ end
19
19
 
20
20
  private
21
21
 
22
- def log_pride
23
- return log_str(".") unless Teaspoon.configuration.color
24
- log_str("\e[38;5;#{next_color}m.\e[0m")
25
- end
22
+ def log_pride
23
+ return log_str(".") unless Teaspoon.configuration.color
24
+ log_str("\e[38;5;#{next_color}m.\e[0m")
25
+ end
26
26
 
27
- def colors
28
- @colors ||= (0...42).map do |i|
29
- i *= 1.0 / 6
30
- 36 * calc_color(i) + 6 * calc_color(i + 2 * PI_3) + calc_color(i + 4 * PI_3) + 16
27
+ def colors
28
+ @colors ||= (0...42).map do |i|
29
+ i *= 1.0 / 6
30
+ 36 * calc_color(i) + 6 * calc_color(i + 2 * PI_3) + calc_color(i + 4 * PI_3) + 16
31
+ end
31
32
  end
32
- end
33
33
 
34
- def calc_color(val)
35
- (3 * Math.sin(val) + 3).to_i
36
- end
34
+ def calc_color(val)
35
+ (3 * Math.sin(val) + 3).to_i
36
+ end
37
37
 
38
- def next_color
39
- c = colors[@color_index % colors.size]
40
- @color_index += 1
41
- c
42
- end
38
+ def next_color
39
+ c = colors[@color_index % colors.size]
40
+ @color_index += 1
41
+ c
42
+ end
43
43
  end
44
44
  end
45
45
  end
@@ -38,38 +38,38 @@ module Teaspoon
38
38
 
39
39
  private
40
40
 
41
- def log_suite_start(result)
42
- @current_suite << result.label
43
- log_template @suite_start_template, result
44
- end
41
+ def log_suite_start(result)
42
+ @current_suite << result.label
43
+ log_template @suite_start_template, result
44
+ end
45
45
 
46
- def log_suite_end
47
- log_template @suite_end_template, @current_suite.pop
48
- end
46
+ def log_suite_end
47
+ log_template @suite_end_template, @current_suite.pop
48
+ end
49
49
 
50
- def template(contents)
51
- Template.new contents
52
- end
50
+ def template(contents)
51
+ Template.new contents
52
+ end
53
53
 
54
- def log_template(template, object)
55
- log_str template.render(object)
56
- end
54
+ def log_template(template, object)
55
+ log_str template.render(object)
56
+ end
57
57
 
58
- class Template
59
- include ERB::Util
58
+ class Template
59
+ include ERB::Util
60
60
 
61
- def initialize(contents)
62
- @template = contents
63
- end
61
+ def initialize(contents)
62
+ @template = contents
63
+ end
64
64
 
65
- def render(obj)
66
- @o = obj
67
- ERB.new(@template).result binding
65
+ def render(obj)
66
+ @o = obj
67
+ ERB.new(@template).result binding
68
+ end
68
69
  end
69
- end
70
70
 
71
- module Templates
72
- CSS = <<-CSS.strip_heredoc
71
+ module Templates
72
+ CSS = <<-CSS.strip_heredoc
73
73
  body {
74
74
  margin: 0;
75
75
  padding: 0;
@@ -191,7 +191,7 @@ module Teaspoon
191
191
  }
192
192
  CSS
193
193
 
194
- JAVASCRIPT = <<-JAVASCRIPT.strip_heredoc
194
+ JAVASCRIPT = <<-JAVASCRIPT.strip_heredoc
195
195
  (function() {
196
196
  "use strict";
197
197
 
@@ -386,7 +386,7 @@ module Teaspoon
386
386
  })();
387
387
  JAVASCRIPT
388
388
 
389
- HEADER = <<-HTML.strip_heredoc
389
+ HEADER = <<-HTML.strip_heredoc
390
390
  <!DOCTYPE html>
391
391
  <html>
392
392
  <head>
@@ -422,13 +422,13 @@ module Teaspoon
422
422
  <div class="results">
423
423
  HTML
424
424
 
425
- SUITE_START = <<-HTML.strip_heredoc
425
+ SUITE_START = <<-HTML.strip_heredoc
426
426
  <div class="example_group">
427
427
  <dl>
428
428
  <dt><%= h @o.label %></dt>
429
429
  HTML
430
430
 
431
- SPEC = <<-HTML.strip_heredoc
431
+ SPEC = <<-HTML.strip_heredoc
432
432
  <dd class="example <%= h @o.status %>">
433
433
  <span class="spec-name"><%= h @o.label %></span>
434
434
  <span class="duration"><%= h "\#{@o.elapsed}s" if @o.elapsed %></span>
@@ -441,12 +441,12 @@ module Teaspoon
441
441
  </dd>
442
442
  HTML
443
443
 
444
- SUITE_END = <<-HTML.strip_heredoc
444
+ SUITE_END = <<-HTML.strip_heredoc
445
445
  </dl>
446
446
  </div>
447
447
  HTML
448
448
 
449
- FOOTER = <<-HTML.strip_heredoc
449
+ FOOTER = <<-HTML.strip_heredoc
450
450
  </div>
451
451
  </div>
452
452
 
@@ -458,7 +458,7 @@ module Teaspoon
458
458
  </body>
459
459
  </html>
460
460
  HTML
461
- end
461
+ end
462
462
  end
463
463
  end
464
464
  end
@@ -1,4 +1,5 @@
1
1
  # encoding: utf-8
2
+
2
3
  require "teaspoon/formatter/dot"
3
4
 
4
5
  module Teaspoon
@@ -6,11 +7,11 @@ module Teaspoon
6
7
  class Snowday < Dot
7
8
  protected
8
9
 
9
- def log_spec(result)
10
- return log_str("☃", CYAN) if result.passing?
11
- return log_str("☹", YELLOW) if result.pending?
12
- log_str("☠", RED)
13
- end
10
+ def log_spec(result)
11
+ return log_str("☃", CYAN) if result.passing?
12
+ return log_str("☹", YELLOW) if result.pending?
13
+ log_str("☠", RED)
14
+ end
14
15
  end
15
16
  end
16
17
  end
@@ -5,107 +5,107 @@ module Teaspoon
5
5
  class SwayzeOrOprah < Base
6
6
  protected
7
7
 
8
- def log_result(_result)
9
- return log_str("\nNo quote for you.") if failures.size > 0
10
- names, quote = random_quote
11
- log_line("\n#{quote.inspect} -- Oprah Winfrey or Patrick Swayze?")
12
- process_response(names)
13
- end
8
+ def log_result(_result)
9
+ return log_str("\nNo quote for you.") if failures.size > 0
10
+ names, quote = random_quote
11
+ log_line("\n#{quote.inspect} -- Oprah Winfrey or Patrick Swayze?")
12
+ process_response(names)
13
+ end
14
14
 
15
15
  private
16
16
 
17
- DATA = [
18
- {
19
- author: ["patrick swayze", "patrick", "swayze", "ps", "p"],
20
- quotes: <<-QUOTES.strip_heredoc.split("|").strip
21
- When those you love die, the best you can do is honor their spirit for as long as you live. You make a \
22
- commitment that you're going to take whatever lesson that person or animal was trying to teach you, and \
23
- you make it true in your own life... it's a positive way to keep their spirit alive in the world, by \
24
- keeping it alive in yourself.|The way to screw up somebody's life is to give them what they want. There's \
25
- just something about dance ... It's like a primal thing in all of us.|Pain don't hurt.|What winning is to \
26
- me is not giving up, is no matter what's thrown at me, I can take it. And I can keep going.|Good-looking \
27
- people turn me off. Myself included.|One thing I'm not going to do is chase staying alive. You spend so \
28
- much time chasing staying alive, you won't live.|The way to screw up somebody's life is to give them what \
29
- they want.|There's just something about dance. It's like a primal thing in all of us.|As always, I \
30
- appreciate all the love and support people have sent and continue to send my way.|Everything is designed \
31
- to help you sell out.|How do you nurture a positive attitude when all the statistics say you're a dead \
32
- man? You go to work.|I am very, very clear on how difficult it is for a young kid out there to go into the \
33
- arts without taking a lot of heat from his peers.|I don't know how many hills and valleys I've had, how \
34
- many times I've had to refocus my world and my life and my career. I don't know what's on the other \
35
- side.|I don't want to be a poster child for cancer.|I don't want to be Mr. Romantic Leading Man. I don't \
36
- want to be the Dance Dude. I don't want to be the Action Guy. If I had to do any one of those all my life, \
37
- it'd drive me crazy.|I dropped about 20 pounds in the blink of an eye. And then when you see it in the \
38
- mirror, when all of a sudden you pull your eyes down, and the bottom of your eyes go yellow and jaundice \
39
- sets in - then you know something's wrong.|I got completely fed up with that Hollywood blockbuster \
40
- mentality. I couldn't take it seriously any longer.|I had a lot of anger because I wasn't happy with the \
41
- way I had been raised.|I just love to work hard.|I keep dreaming of a future, a future with a long and \
42
- healthy life, not lived in the shadow of cancer but in the light.|I keep my heart and my soul and my \
43
- spirit open to miracles.|I like to believe that I've got a lot of guardian warriors sittin' on my shoulder \
44
- including my dad.|I took after my father.|I wanna live.|I will go so far as to say probably smoking had \
45
- something to do with my pancreatic cancer.|I'm trying to shut up and let my angels speak to me and tell me \
46
- what I'm supposed to do.|I've had so many injuries.
47
- QUOTES
48
- },
17
+ DATA = [
18
+ {
19
+ author: ["patrick swayze", "patrick", "swayze", "ps", "p"],
20
+ quotes: <<-QUOTES.strip_heredoc.split("|").strip
21
+ When those you love die, the best you can do is honor their spirit for as long as you live. You make a \
22
+ commitment that you're going to take whatever lesson that person or animal was trying to teach you, and \
23
+ you make it true in your own life... it's a positive way to keep their spirit alive in the world, by \
24
+ keeping it alive in yourself.|The way to screw up somebody's life is to give them what they want. There's \
25
+ just something about dance ... It's like a primal thing in all of us.|Pain don't hurt.|What winning is to \
26
+ me is not giving up, is no matter what's thrown at me, I can take it. And I can keep going.|Good-looking \
27
+ people turn me off. Myself included.|One thing I'm not going to do is chase staying alive. You spend so \
28
+ much time chasing staying alive, you won't live.|The way to screw up somebody's life is to give them what \
29
+ they want.|There's just something about dance. It's like a primal thing in all of us.|As always, I \
30
+ appreciate all the love and support people have sent and continue to send my way.|Everything is designed \
31
+ to help you sell out.|How do you nurture a positive attitude when all the statistics say you're a dead \
32
+ man? You go to work.|I am very, very clear on how difficult it is for a young kid out there to go into the \
33
+ arts without taking a lot of heat from his peers.|I don't know how many hills and valleys I've had, how \
34
+ many times I've had to refocus my world and my life and my career. I don't know what's on the other \
35
+ side.|I don't want to be a poster child for cancer.|I don't want to be Mr. Romantic Leading Man. I don't \
36
+ want to be the Dance Dude. I don't want to be the Action Guy. If I had to do any one of those all my life, \
37
+ it'd drive me crazy.|I dropped about 20 pounds in the blink of an eye. And then when you see it in the \
38
+ mirror, when all of a sudden you pull your eyes down, and the bottom of your eyes go yellow and jaundice \
39
+ sets in - then you know something's wrong.|I got completely fed up with that Hollywood blockbuster \
40
+ mentality. I couldn't take it seriously any longer.|I had a lot of anger because I wasn't happy with the \
41
+ way I had been raised.|I just love to work hard.|I keep dreaming of a future, a future with a long and \
42
+ healthy life, not lived in the shadow of cancer but in the light.|I keep my heart and my soul and my \
43
+ spirit open to miracles.|I like to believe that I've got a lot of guardian warriors sittin' on my shoulder \
44
+ including my dad.|I took after my father.|I wanna live.|I will go so far as to say probably smoking had \
45
+ something to do with my pancreatic cancer.|I'm trying to shut up and let my angels speak to me and tell me \
46
+ what I'm supposed to do.|I've had so many injuries.
47
+ QUOTES
48
+ },
49
49
 
50
- {
51
- author: ["oprah winfrey", "oprah", "winfrey", "ow", "o"],
52
- quotes: <<-QUOTES.strip_heredoc.split("|").strip
53
- Lots of people want to ride with you in the limo, but what you want is someone who will take the bus with \
54
- you when the limo breaks down.|Be thankful for what you have; you'll end up having more. If you \
55
- concentrate on what you don't have, you will never, ever have enough.|The more you praise and celebrate \
56
- your life, the more there is in life to celebrate.|Surround yourself with only people who are going to \
57
- lift you higher.|Breathe. Let go. And remind yourself that this very moment is the only one you know you \
58
- have for sure.|As you become more clear about who you really are, you'll be better able to decide what is \
59
- best for you - the first time around.|It isn't until you come to a spiritual understanding of who you are \
60
- - not necessarily a religious feeling, but deep down, the spirit within - that you can begin to take \
61
- control.|I am a woman in process. I'm just trying like everybody else. I try to take every conflict, every \
62
- experience, and learn from it. Life is never dull.|Turn your wounds into wisdom.|Doing the best at this \
63
- moment puts you in the best place for the next moment.|Where there is no struggle, there is no \
64
- strength.|Do the one thing you think you cannot do. Fail at it. Try again. Do better the second time. The \
65
- only people who never tumble are those who never mount the high wire. This is your moment. Own it.|Passion \
66
- is energy. Feel the power that comes from focusing on what excites you.|I don't think of myself as a poor \
67
- deprived ghetto girl who made good. I think of myself as somebody who from an early age knew I was \
68
- responsible for myself, and I had to make good.|Think like a queen. A queen is not afraid to fail. Failure \
69
- is another steppingstone to greatness.|I believe that every single event in life happens in an opportunity \
70
- to choose love over fear.|The greatest discovery of all time is that a person can change his future by \
71
- merely changing his attitude.|I don't believe in failure. It is not failure if you enjoyed the process.|I \
72
- don't think you ever stop giving. I really don't. I think it's an on-going process. And it's not just \
73
- about being able to write a check. It's being able to touch somebody's life.|The struggle of my life \
74
- created empathy - I could relate to pain, being abandoned, having people not love me.|What material \
75
- success does is provide you with the ability to concentrate on other things that really matter. And that \
76
- is being able to make a difference, not only in your own life, but in other people's lives.|Books were my \
77
- pass to personal freedom. I learned to read at age three, and soon discovered there was a whole world to \
78
- conquer that went beyond our farm in Mississippi.|Biology is the least of what makes someone a \
79
- mother.|Real integrity is doing the right thing, knowing that nobody's going to know whether you did it or \
80
- not.|I have a lot of things to prove to myself. One is that I can live my life fearlessly.
81
- QUOTES
82
- }
83
- ]
50
+ {
51
+ author: ["oprah winfrey", "oprah", "winfrey", "ow", "o"],
52
+ quotes: <<-QUOTES.strip_heredoc.split("|").strip
53
+ Lots of people want to ride with you in the limo, but what you want is someone who will take the bus with \
54
+ you when the limo breaks down.|Be thankful for what you have; you'll end up having more. If you \
55
+ concentrate on what you don't have, you will never, ever have enough.|The more you praise and celebrate \
56
+ your life, the more there is in life to celebrate.|Surround yourself with only people who are going to \
57
+ lift you higher.|Breathe. Let go. And remind yourself that this very moment is the only one you know you \
58
+ have for sure.|As you become more clear about who you really are, you'll be better able to decide what is \
59
+ best for you - the first time around.|It isn't until you come to a spiritual understanding of who you are \
60
+ - not necessarily a religious feeling, but deep down, the spirit within - that you can begin to take \
61
+ control.|I am a woman in process. I'm just trying like everybody else. I try to take every conflict, every \
62
+ experience, and learn from it. Life is never dull.|Turn your wounds into wisdom.|Doing the best at this \
63
+ moment puts you in the best place for the next moment.|Where there is no struggle, there is no \
64
+ strength.|Do the one thing you think you cannot do. Fail at it. Try again. Do better the second time. The \
65
+ only people who never tumble are those who never mount the high wire. This is your moment. Own it.|Passion \
66
+ is energy. Feel the power that comes from focusing on what excites you.|I don't think of myself as a poor \
67
+ deprived ghetto girl who made good. I think of myself as somebody who from an early age knew I was \
68
+ responsible for myself, and I had to make good.|Think like a queen. A queen is not afraid to fail. Failure \
69
+ is another steppingstone to greatness.|I believe that every single event in life happens in an opportunity \
70
+ to choose love over fear.|The greatest discovery of all time is that a person can change his future by \
71
+ merely changing his attitude.|I don't believe in failure. It is not failure if you enjoyed the process.|I \
72
+ don't think you ever stop giving. I really don't. I think it's an on-going process. And it's not just \
73
+ about being able to write a check. It's being able to touch somebody's life.|The struggle of my life \
74
+ created empathy - I could relate to pain, being abandoned, having people not love me.|What material \
75
+ success does is provide you with the ability to concentrate on other things that really matter. And that \
76
+ is being able to make a difference, not only in your own life, but in other people's lives.|Books were my \
77
+ pass to personal freedom. I learned to read at age three, and soon discovered there was a whole world to \
78
+ conquer that went beyond our farm in Mississippi.|Biology is the least of what makes someone a \
79
+ mother.|Real integrity is doing the right thing, knowing that nobody's going to know whether you did it or \
80
+ not.|I have a lot of things to prove to myself. One is that I can live my life fearlessly.
81
+ QUOTES
82
+ }
83
+ ]
84
84
 
85
- def process_response(names)
86
- log_str("Will your run be successful? [swayze or oprah]: ")
87
- if names.include?(gets.chomp)
88
- log_line("\nYou got it right!\n")
89
- else
90
- log_line("\nWrong, too bad!\n")
91
- raise the roof, YO && "Let's get busy"
85
+ def process_response(names)
86
+ log_str("Will your run be successful? [swayze or oprah]: ")
87
+ if names.include?(gets.chomp)
88
+ log_line("\nYou got it right!\n")
89
+ else
90
+ log_line("\nWrong, too bad!\n")
91
+ raise the roof, YO && "Let's get busy"
92
+ end
92
93
  end
93
- end
94
94
 
95
- def random_quote
96
- set = DATA[rand(DATA.size)]
97
- [set[:author], set[:quotes][rand(set[:quotes].size)]]
98
- end
95
+ def random_quote
96
+ set = DATA[rand(DATA.size)]
97
+ [set[:author], set[:quotes][rand(set[:quotes].size)]]
98
+ end
99
99
 
100
- def the(*_)
101
- Exception.new("poorly answered question")
102
- end
100
+ def the(*_)
101
+ Exception.new("poorly answered question")
102
+ end
103
103
 
104
- def roof
105
- 0
106
- end
104
+ def roof
105
+ 0
106
+ end
107
107
 
108
- YO = 0
108
+ YO = 0
109
109
  end
110
110
  end
111
111
  end