nyan 0.0.2 → 0.0.3

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/bin/nyan CHANGED
@@ -1,4 +1,7 @@
1
1
  #!/usr/bin/env ruby
2
+ require 'rubygems'
3
+ require 'bundler'
4
+
2
5
  nyan_dir = File.expand_path(File.join(File.dirname(__FILE__), '..', 'lib'))
3
6
  $LOAD_PATH.unshift(nyan_dir) unless $LOAD_PATH.include?(nyan_dir)
4
7
  require "nyan"
@@ -8,7 +8,7 @@ require "nyan/stage"
8
8
  require "nyan/flight"
9
9
 
10
10
  module Nyan
11
- BLOCK = "\u2588"
11
+ BLOCK = "\xE2\x96\x88"
12
12
  SPACE = "\x20"
13
13
  NEWLINE = "\n"
14
14
 
@@ -1,4 +1,4 @@
1
- require "ansi"
1
+ require 'ansi'
2
2
  include ANSI::Code
3
3
 
4
4
  module Nyan
@@ -32,6 +32,15 @@ module Nyan
32
32
  end
33
33
 
34
34
  def next!
35
+ maybe_add_a_twinkly_star
36
+ @stage.play!
37
+ while Time.now - @tick_time < 0.09; end
38
+ @tick_time = Time.now
39
+ end
40
+
41
+ private
42
+
43
+ def maybe_add_a_twinkly_star
35
44
  if rand > 0.85
36
45
  speed = rand > 0.5 ? 2 : 5
37
46
  star = Sprite.new(:x => @stage.width,
@@ -43,9 +52,6 @@ module Nyan
43
52
  :animation => Proc.new { self.x -= @options[:speed] })
44
53
  @stage.add_sprite(star)
45
54
  end
46
- @stage.play!
47
- loop until Time.now - @tick_time >= 0.09
48
- @tick_time = Time.now
49
55
  end
50
56
  end
51
57
  end
@@ -20,7 +20,7 @@ module Nyan
20
20
  EOF
21
21
 
22
22
  def self.to_frames
23
- @frames ||= Array(SHAPE)
23
+ @frames ||= [SHAPE]
24
24
  end
25
25
  end
26
26
  end
@@ -22,7 +22,7 @@ module Nyan
22
22
  EOF
23
23
 
24
24
  def self.to_frames
25
- @fames ||= Array(SHAPE)
25
+ @fames ||= [SHAPE]
26
26
  end
27
27
  end
28
28
  end
@@ -5,7 +5,7 @@ module Nyan
5
5
  SECTIONS = 5
6
6
 
7
7
  COLOURS = %w(1 2 3 4 5)
8
- BLANK = ([Nyan::SPACE] * BEND_LENGTH).join
8
+ BLANK = (Array(Nyan::SPACE) * BEND_LENGTH).join
9
9
 
10
10
  FRAME_HEIGHT = COLOURS.length * BAND_HEIGHT + 1
11
11
  FRAME_WIDTH = SECTIONS * BEND_LENGTH
@@ -13,10 +13,12 @@ module Nyan
13
13
  TOTAL_LENGTH = SECTIONS * BEND_LENGTH
14
14
  TOTAL_HEIGHT = BAND_HEIGHT * COLOURS.length
15
15
 
16
- SLICE = COLOURS.each_with_object([]) do |colour, slice|
16
+ SLICE = COLOURS.inject([]) do |slice, colour|
17
+ bend = (Array(colour) * BEND_LENGTH)
17
18
  BAND_HEIGHT.times do
18
- slice << "#{colour}" * BEND_LENGTH
19
+ slice << bend.join
19
20
  end
21
+ slice
20
22
  end
21
23
 
22
24
  def self.frame(is_peak = true)
@@ -75,7 +75,7 @@ X.........X
75
75
  EOF
76
76
 
77
77
  def self.to_frames
78
- @frames ||= SHAPE_LIST.gsub(/\./, SPACE).gsub(/X/, BLOCK).split(/--./m)
78
+ @frames ||= SHAPE_LIST.gsub(/\./, SPACE).gsub(/X/, "@").split(/--./m)
79
79
  end
80
80
  end
81
81
  end
@@ -1,3 +1,3 @@
1
1
  module Nyan
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
@@ -7,7 +7,7 @@ Gem::Specification.new do |s|
7
7
  s.version = Nyan::VERSION
8
8
  s.authors = ["dave@kapoq.com"]
9
9
  s.email = ["dave@kapoq.com"]
10
- s.homepage = "https://github.com/kapoq/nyan_formatter"
10
+ s.homepage = "https://github.com/kapoq/nyan"
11
11
  s.summary = "Nyan Cat flies across your terminal while your RSpec specs run!"
12
12
  s.description = "Your favourite aging meme is reheated as an RSpec custom formatter. For entertainment purposes only. WARNING: enterprise-ready"
13
13
 
@@ -0,0 +1,18 @@
1
+ require 'spec_helper'
2
+
3
+ describe Nyan::Flight do
4
+ describe "#next!" do
5
+ let(:stage) { Nyan::Stage.new }
6
+
7
+ before do
8
+ Nyan::Stage.stub(:new => stage)
9
+ end
10
+
11
+ it "plays the stage" do
12
+ flight = Nyan::Flight.new
13
+ flight.stub(:maybe_add_a_twinkly_star)
14
+ stage.should_receive(:play!)
15
+ flight.next!
16
+ end
17
+ end
18
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nyan
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,12 +9,12 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-10-07 00:00:00.000000000 +02:00
12
+ date: 2011-10-08 00:00:00.000000000 +02:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: ansi
17
- requirement: &23050960 !ruby/object:Gem::Requirement
17
+ requirement: &10787560 !ruby/object:Gem::Requirement
18
18
  none: false
19
19
  requirements:
20
20
  - - ! '>='
@@ -22,10 +22,10 @@ dependencies:
22
22
  version: '0'
23
23
  type: :runtime
24
24
  prerelease: false
25
- version_requirements: *23050960
25
+ version_requirements: *10787560
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: rspec
28
- requirement: &23050540 !ruby/object:Gem::Requirement
28
+ requirement: &10787140 !ruby/object:Gem::Requirement
29
29
  none: false
30
30
  requirements:
31
31
  - - ! '>='
@@ -33,10 +33,10 @@ dependencies:
33
33
  version: '0'
34
34
  type: :runtime
35
35
  prerelease: false
36
- version_requirements: *23050540
36
+ version_requirements: *10787140
37
37
  - !ruby/object:Gem::Dependency
38
38
  name: guard-rspec
39
- requirement: &23050120 !ruby/object:Gem::Requirement
39
+ requirement: &10786720 !ruby/object:Gem::Requirement
40
40
  none: false
41
41
  requirements:
42
42
  - - ! '>='
@@ -44,10 +44,10 @@ dependencies:
44
44
  version: '0'
45
45
  type: :development
46
46
  prerelease: false
47
- version_requirements: *23050120
47
+ version_requirements: *10786720
48
48
  - !ruby/object:Gem::Dependency
49
49
  name: rake
50
- requirement: &23049700 !ruby/object:Gem::Requirement
50
+ requirement: &10835020 !ruby/object:Gem::Requirement
51
51
  none: false
52
52
  requirements:
53
53
  - - ! '>='
@@ -55,10 +55,10 @@ dependencies:
55
55
  version: '0'
56
56
  type: :development
57
57
  prerelease: false
58
- version_requirements: *23049700
58
+ version_requirements: *10835020
59
59
  - !ruby/object:Gem::Dependency
60
60
  name: rb-inotify
61
- requirement: &23098140 !ruby/object:Gem::Requirement
61
+ requirement: &10834560 !ruby/object:Gem::Requirement
62
62
  none: false
63
63
  requirements:
64
64
  - - ! '>='
@@ -66,10 +66,10 @@ dependencies:
66
66
  version: '0'
67
67
  type: :development
68
68
  prerelease: false
69
- version_requirements: *23098140
69
+ version_requirements: *10834560
70
70
  - !ruby/object:Gem::Dependency
71
71
  name: libnotify
72
- requirement: &23097720 !ruby/object:Gem::Requirement
72
+ requirement: &10834140 !ruby/object:Gem::Requirement
73
73
  none: false
74
74
  requirements:
75
75
  - - ! '>='
@@ -77,7 +77,7 @@ dependencies:
77
77
  version: '0'
78
78
  type: :development
79
79
  prerelease: false
80
- version_requirements: *23097720
80
+ version_requirements: *10834140
81
81
  description: ! 'Your favourite aging meme is reheated as an RSpec custom formatter.
82
82
  For entertainment purposes only. WARNING: enterprise-ready'
83
83
  email:
@@ -109,12 +109,13 @@ files:
109
109
  - lib/nyan/version.rb
110
110
  - nyan.gemspec
111
111
  - spec/lib/colour_spec.rb
112
+ - spec/lib/flight_spec.rb
112
113
  - spec/lib/shape_spec.rb
113
114
  - spec/lib/sprite_spec.rb
114
115
  - spec/lib/stage_spec.rb
115
116
  - spec/spec_helper.rb
116
117
  has_rdoc: true
117
- homepage: https://github.com/kapoq/nyan_formatter
118
+ homepage: https://github.com/kapoq/nyan
118
119
  licenses: []
119
120
  post_install_message:
120
121
  rdoc_options: []