gosu_extensions 0.1.8 → 0.1.9
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/Rakefile +5 -1
 - data/VERSION +1 -1
 - data/generator/gogogosu.rb +26 -0
 - data/lib/traits/pod.rb +6 -0
 - data/lib/traits/short_lived.rb +5 -0
 - data/spec/lib/extensions/numeric_spec.rb +11 -0
 - data/spec/lib/traits/shooter_spec.rb +14 -0
 - data/spec/lib/traits/short_lived_spec.rb +60 -0
 - data/spec/lib/traits/shot_spec.rb +51 -0
 - data/spec/lib/traits/targetable_spec.rb +20 -0
 - data/spec/lib/traits/targeting_spec.rb +9 -0
 - data/spec/lib/traits/turnable_spec.rb +65 -0
 - metadata +12 -5
 
    
        data/Rakefile
    CHANGED
    
    | 
         @@ -8,9 +8,13 @@ begin 
     | 
|
| 
       8 
8 
     | 
    
         
             
                gemspec.description = ""
         
     | 
| 
       9 
9 
     | 
    
         
             
                gemspec.authors = ["Florian Hanke"]
         
     | 
| 
       10 
10 
     | 
    
         
             
                gemspec.rdoc_options = ["--inline-source", "--charset=UTF-8"]
         
     | 
| 
       11 
     | 
    
         
            -
                gemspec.files = FileList["[A-Z]*", "{ 
     | 
| 
      
 11 
     | 
    
         
            +
                gemspec.files = FileList["[A-Z]*", "{generator,lib}/**/*"]
         
     | 
| 
      
 12 
     | 
    
         
            +
                gemspec.test_files = FileList["spec/**/*_spec.rb"]
         
     | 
| 
       12 
13 
     | 
    
         
             
                gemspec.add_dependency 'gosu'
         
     | 
| 
       13 
14 
     | 
    
         
             
                gemspec.add_dependency 'chipmunk'
         
     | 
| 
      
 15 
     | 
    
         
            +
                # gemspec.bindir = 'bin'
         
     | 
| 
      
 16 
     | 
    
         
            +
                # gemspec.executables = ['bin/gogogosu']
         
     | 
| 
      
 17 
     | 
    
         
            +
                # gemspec.default_executable = 'bin/gogogosu'
         
     | 
| 
       14 
18 
     | 
    
         
             
              end
         
     | 
| 
       15 
19 
     | 
    
         
             
              Jeweler::GemcutterTasks.new
         
     | 
| 
       16 
20 
     | 
    
         
             
            rescue LoadError => e
         
     | 
    
        data/VERSION
    CHANGED
    
    | 
         @@ -1 +1 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            0.1. 
     | 
| 
      
 1 
     | 
    
         
            +
            0.1.9
         
     | 
| 
         @@ -0,0 +1,26 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            module Generator
         
     | 
| 
      
 2 
     | 
    
         
            +
              class Gogogosu
         
     | 
| 
      
 3 
     | 
    
         
            +
                
         
     | 
| 
      
 4 
     | 
    
         
            +
                def initialize
         
     | 
| 
      
 5 
     | 
    
         
            +
                  @basedir = Dir.pwd
         
     | 
| 
      
 6 
     | 
    
         
            +
                end
         
     | 
| 
      
 7 
     | 
    
         
            +
                
         
     | 
| 
      
 8 
     | 
    
         
            +
                # Generates a directory.
         
     | 
| 
      
 9 
     | 
    
         
            +
                #
         
     | 
| 
      
 10 
     | 
    
         
            +
                def dir name
         
     | 
| 
      
 11 
     | 
    
         
            +
                  Dir.mkdir name unless File.file?(name) || File.exist?(name)
         
     | 
| 
      
 12 
     | 
    
         
            +
                  if block_given?
         
     | 
| 
      
 13 
     | 
    
         
            +
                    Dir.chdir name
         
     | 
| 
      
 14 
     | 
    
         
            +
                    yield
         
     | 
| 
      
 15 
     | 
    
         
            +
                    Dir.chdir '..'
         
     | 
| 
      
 16 
     | 
    
         
            +
                  end
         
     | 
| 
      
 17 
     | 
    
         
            +
                end
         
     | 
| 
      
 18 
     | 
    
         
            +
                
         
     | 
| 
      
 19 
     | 
    
         
            +
                # Generates a file. Will be rendered with erb.
         
     | 
| 
      
 20 
     | 
    
         
            +
                #
         
     | 
| 
      
 21 
     | 
    
         
            +
                def file name
         
     | 
| 
      
 22 
     | 
    
         
            +
                  
         
     | 
| 
      
 23 
     | 
    
         
            +
                end
         
     | 
| 
      
 24 
     | 
    
         
            +
                
         
     | 
| 
      
 25 
     | 
    
         
            +
              end
         
     | 
| 
      
 26 
     | 
    
         
            +
            end
         
     | 
    
        data/lib/traits/pod.rb
    CHANGED
    
    
    
        data/lib/traits/short_lived.rb
    CHANGED
    
    | 
         @@ -1,5 +1,9 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            module ShortLived
         
     | 
| 
       2 
2 
     | 
    
         | 
| 
      
 3 
     | 
    
         
            +
              # TODO Explain better what to do.
         
     | 
| 
      
 4 
     | 
    
         
            +
              #
         
     | 
| 
      
 5 
     | 
    
         
            +
              class LifetimeMissingError < StandardError; end
         
     | 
| 
      
 6 
     | 
    
         
            +
              
         
     | 
| 
       3 
7 
     | 
    
         
             
              def self.included klass
         
     | 
| 
       4 
8 
     | 
    
         
             
                klass.extend ClassMethods
         
     | 
| 
       5 
9 
     | 
    
         
             
              end
         
     | 
| 
         @@ -7,6 +11,7 @@ module ShortLived 
     | 
|
| 
       7 
11 
     | 
    
         
             
              def initialize window
         
     | 
| 
       8 
12 
     | 
    
         
             
                super window
         
     | 
| 
       9 
13 
     | 
    
         | 
| 
      
 14 
     | 
    
         
            +
                raise ShortLived::LifetimeMissingError.new unless self.respond_to? :lifetime 
         
     | 
| 
       10 
15 
     | 
    
         
             
                threaded self.lifetime do
         
     | 
| 
       11 
16 
     | 
    
         
             
                  self.destroy!
         
     | 
| 
       12 
17 
     | 
    
         
             
                end
         
     | 
| 
         @@ -0,0 +1,14 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require File.join(File.dirname(__FILE__), '/../../spec_helper')
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            describe Shooter do
         
     | 
| 
      
 4 
     | 
    
         
            +
              
         
     | 
| 
      
 5 
     | 
    
         
            +
              before(:each) do
         
     | 
| 
      
 6 
     | 
    
         
            +
                @shooter = Class.new do
         
     | 
| 
      
 7 
     | 
    
         
            +
                  include Shooter
         
     | 
| 
      
 8 
     | 
    
         
            +
                end
         
     | 
| 
      
 9 
     | 
    
         
            +
              end
         
     | 
| 
      
 10 
     | 
    
         
            +
              it "should define a constant Shoot" do
         
     | 
| 
      
 11 
     | 
    
         
            +
                Shooter::Shoot.should == :shoot
         
     | 
| 
      
 12 
     | 
    
         
            +
              end
         
     | 
| 
      
 13 
     | 
    
         
            +
              
         
     | 
| 
      
 14 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,60 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require File.join(File.dirname(__FILE__), '/../../spec_helper')
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            describe ShortLived do
         
     | 
| 
      
 4 
     | 
    
         
            +
              
         
     | 
| 
      
 5 
     | 
    
         
            +
              before(:all) do
         
     | 
| 
      
 6 
     | 
    
         
            +
                @window = stub :window
         
     | 
| 
      
 7 
     | 
    
         
            +
              end
         
     | 
| 
      
 8 
     | 
    
         
            +
              
         
     | 
| 
      
 9 
     | 
    
         
            +
              class SuperClass; def initialize(*); end; end
         
     | 
| 
      
 10 
     | 
    
         
            +
              
         
     | 
| 
      
 11 
     | 
    
         
            +
              module ThreadedMock
         
     | 
| 
      
 12 
     | 
    
         
            +
                def threaded lifetime
         
     | 
| 
      
 13 
     | 
    
         
            +
                  # TODO
         
     | 
| 
      
 14 
     | 
    
         
            +
                end
         
     | 
| 
      
 15 
     | 
    
         
            +
              end
         
     | 
| 
      
 16 
     | 
    
         
            +
              
         
     | 
| 
      
 17 
     | 
    
         
            +
              def self.threaded_mock expected
         
     | 
| 
      
 18 
     | 
    
         
            +
                
         
     | 
| 
      
 19 
     | 
    
         
            +
              end
         
     | 
| 
      
 20 
     | 
    
         
            +
              
         
     | 
| 
      
 21 
     | 
    
         
            +
              context 'lifetime given as block' do
         
     | 
| 
      
 22 
     | 
    
         
            +
                before(:each) do
         
     | 
| 
      
 23 
     | 
    
         
            +
                  @short_lived_class = Class.new(SuperClass) do
         
     | 
| 
      
 24 
     | 
    
         
            +
                    include ShortLived
         
     | 
| 
      
 25 
     | 
    
         
            +
                    
         
     | 
| 
      
 26 
     | 
    
         
            +
                    lifetime { 10 + 10 }
         
     | 
| 
      
 27 
     | 
    
         
            +
                    
         
     | 
| 
      
 28 
     | 
    
         
            +
                    def threaded(*); end
         
     | 
| 
      
 29 
     | 
    
         
            +
                  end
         
     | 
| 
      
 30 
     | 
    
         
            +
                end
         
     | 
| 
      
 31 
     | 
    
         
            +
                it "should define a method lifetime which returns the result of the block" do
         
     | 
| 
      
 32 
     | 
    
         
            +
                  @short_lived_class.new(@window).lifetime.should == 20
         
     | 
| 
      
 33 
     | 
    
         
            +
                end
         
     | 
| 
      
 34 
     | 
    
         
            +
              end
         
     | 
| 
      
 35 
     | 
    
         
            +
              context 'lifetime given normally' do
         
     | 
| 
      
 36 
     | 
    
         
            +
                before(:each) do
         
     | 
| 
      
 37 
     | 
    
         
            +
                  @short_lived_class = Class.new(SuperClass) do
         
     | 
| 
      
 38 
     | 
    
         
            +
                    include ShortLived
         
     | 
| 
      
 39 
     | 
    
         
            +
                    
         
     | 
| 
      
 40 
     | 
    
         
            +
                    lifetime 30
         
     | 
| 
      
 41 
     | 
    
         
            +
                    
         
     | 
| 
      
 42 
     | 
    
         
            +
                    def threaded(*); end
         
     | 
| 
      
 43 
     | 
    
         
            +
                  end
         
     | 
| 
      
 44 
     | 
    
         
            +
                end
         
     | 
| 
      
 45 
     | 
    
         
            +
                it "should define a method lifetime which returns the set value" do
         
     | 
| 
      
 46 
     | 
    
         
            +
                  @short_lived_class.new(@window).lifetime.should == 30
         
     | 
| 
      
 47 
     | 
    
         
            +
                end
         
     | 
| 
      
 48 
     | 
    
         
            +
              end
         
     | 
| 
      
 49 
     | 
    
         
            +
              context 'no lifetime given – what now?' do
         
     | 
| 
      
 50 
     | 
    
         
            +
                before(:each) do
         
     | 
| 
      
 51 
     | 
    
         
            +
                  @short_lived_class = Class.new(SuperClass) do
         
     | 
| 
      
 52 
     | 
    
         
            +
                    include ShortLived
         
     | 
| 
      
 53 
     | 
    
         
            +
                  end
         
     | 
| 
      
 54 
     | 
    
         
            +
                end
         
     | 
| 
      
 55 
     | 
    
         
            +
                it "should raise a LifetimeMissingError" do
         
     | 
| 
      
 56 
     | 
    
         
            +
                  lambda { @short_lived_class.new(@window) }.should raise_error(ShortLived::LifetimeMissingError)
         
     | 
| 
      
 57 
     | 
    
         
            +
                end
         
     | 
| 
      
 58 
     | 
    
         
            +
              end
         
     | 
| 
      
 59 
     | 
    
         
            +
              
         
     | 
| 
      
 60 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,51 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require File.join(File.dirname(__FILE__), '/../../spec_helper')
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            describe Shot do
         
     | 
| 
      
 4 
     | 
    
         
            +
              
         
     | 
| 
      
 5 
     | 
    
         
            +
              before(:each) do
         
     | 
| 
      
 6 
     | 
    
         
            +
                @shot = Class.new do
         
     | 
| 
      
 7 
     | 
    
         
            +
                  include Shot
         
     | 
| 
      
 8 
     | 
    
         
            +
                end.new 
         
     | 
| 
      
 9 
     | 
    
         
            +
              end
         
     | 
| 
      
 10 
     | 
    
         
            +
              it "should define an attr_reader :velocity" do
         
     | 
| 
      
 11 
     | 
    
         
            +
                lambda { @shot.velocity }.should_not raise_error
         
     | 
| 
      
 12 
     | 
    
         
            +
              end
         
     | 
| 
      
 13 
     | 
    
         
            +
              it "should define an attr_writer :velocity" do
         
     | 
| 
      
 14 
     | 
    
         
            +
                lambda { @shot.velocity = :some_value }.should_not raise_error
         
     | 
| 
      
 15 
     | 
    
         
            +
              end
         
     | 
| 
      
 16 
     | 
    
         
            +
              it "should define an attr_reader :originator" do
         
     | 
| 
      
 17 
     | 
    
         
            +
                lambda { @shot.originator }.should_not raise_error
         
     | 
| 
      
 18 
     | 
    
         
            +
              end
         
     | 
| 
      
 19 
     | 
    
         
            +
              it "should define an attr_writer :originator" do
         
     | 
| 
      
 20 
     | 
    
         
            +
                lambda { @shot.originator = :some_value }.should_not raise_error
         
     | 
| 
      
 21 
     | 
    
         
            +
              end
         
     | 
| 
      
 22 
     | 
    
         
            +
              
         
     | 
| 
      
 23 
     | 
    
         
            +
              describe "shoot_from" do
         
     | 
| 
      
 24 
     | 
    
         
            +
                before(:each) do
         
     | 
| 
      
 25 
     | 
    
         
            +
                  @window = stub :window, :null_object => true
         
     | 
| 
      
 26 
     | 
    
         
            +
                  @shot.stub :position= => nil
         
     | 
| 
      
 27 
     | 
    
         
            +
                  @shot.stub :window => @window
         
     | 
| 
      
 28 
     | 
    
         
            +
                  @shooter = stub :shooter, :muzzle_position => :some_muzzle_position
         
     | 
| 
      
 29 
     | 
    
         
            +
                end
         
     | 
| 
      
 30 
     | 
    
         
            +
                it "should return itself" do
         
     | 
| 
      
 31 
     | 
    
         
            +
                  @shot.shoot_from(@shooter).should == @shot
         
     | 
| 
      
 32 
     | 
    
         
            +
                end
         
     | 
| 
      
 33 
     | 
    
         
            +
                it "should set its position to the muzzle position of the shooter" do
         
     | 
| 
      
 34 
     | 
    
         
            +
                  @shot.should_receive(:position=).once.with :some_muzzle_position
         
     | 
| 
      
 35 
     | 
    
         
            +
                  
         
     | 
| 
      
 36 
     | 
    
         
            +
                  @shot.shoot_from @shooter
         
     | 
| 
      
 37 
     | 
    
         
            +
                end
         
     | 
| 
      
 38 
     | 
    
         
            +
                it "should set its originator to the shooter" do
         
     | 
| 
      
 39 
     | 
    
         
            +
                  @shot.should_receive(:originator=).once.with @shooter
         
     | 
| 
      
 40 
     | 
    
         
            +
                  
         
     | 
| 
      
 41 
     | 
    
         
            +
                  @shot.shoot_from @shooter
         
     | 
| 
      
 42 
     | 
    
         
            +
                end
         
     | 
| 
      
 43 
     | 
    
         
            +
                it "should register itself with the window" do
         
     | 
| 
      
 44 
     | 
    
         
            +
                  # TODO Or should it?
         
     | 
| 
      
 45 
     | 
    
         
            +
                  @window.should_receive(:register).once.with @shot
         
     | 
| 
      
 46 
     | 
    
         
            +
                  
         
     | 
| 
      
 47 
     | 
    
         
            +
                  @shot.shoot_from @shooter
         
     | 
| 
      
 48 
     | 
    
         
            +
                end
         
     | 
| 
      
 49 
     | 
    
         
            +
              end
         
     | 
| 
      
 50 
     | 
    
         
            +
              
         
     | 
| 
      
 51 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,20 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require File.join(File.dirname(__FILE__), '/../../spec_helper')
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            describe Targetable do
         
     | 
| 
      
 4 
     | 
    
         
            +
              
         
     | 
| 
      
 5 
     | 
    
         
            +
              before(:each) do
         
     | 
| 
      
 6 
     | 
    
         
            +
                @targetable = Class.new do
         
     | 
| 
      
 7 
     | 
    
         
            +
                  include Targetable
         
     | 
| 
      
 8 
     | 
    
         
            +
                end.new 
         
     | 
| 
      
 9 
     | 
    
         
            +
              end
         
     | 
| 
      
 10 
     | 
    
         
            +
              describe "distance_from" do
         
     | 
| 
      
 11 
     | 
    
         
            +
                before(:each) do
         
     | 
| 
      
 12 
     | 
    
         
            +
                  @targetable.stub! :position => CP::Vec2.new(6, 8)
         
     | 
| 
      
 13 
     | 
    
         
            +
                  @shooter = stub :shooter, :position => CP::Vec2.new(3, 4)
         
     | 
| 
      
 14 
     | 
    
         
            +
                end
         
     | 
| 
      
 15 
     | 
    
         
            +
                it "should return the right distance" do
         
     | 
| 
      
 16 
     | 
    
         
            +
                  @targetable.distance_from(@shooter).should == 5.0
         
     | 
| 
      
 17 
     | 
    
         
            +
                end
         
     | 
| 
      
 18 
     | 
    
         
            +
              end
         
     | 
| 
      
 19 
     | 
    
         
            +
              
         
     | 
| 
      
 20 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,65 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require File.join(File.dirname(__FILE__), '/../../spec_helper')
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            describe Turnable do
         
     | 
| 
      
 4 
     | 
    
         
            +
              
         
     | 
| 
      
 5 
     | 
    
         
            +
              context 'default' do
         
     | 
| 
      
 6 
     | 
    
         
            +
                before(:each) do
         
     | 
| 
      
 7 
     | 
    
         
            +
                  @turnable = Class.new do
         
     | 
| 
      
 8 
     | 
    
         
            +
                    include Turnable
         
     | 
| 
      
 9 
     | 
    
         
            +
                  end.new 
         
     | 
| 
      
 10 
     | 
    
         
            +
                end
         
     | 
| 
      
 11 
     | 
    
         
            +
                describe "turn_speed" do
         
     | 
| 
      
 12 
     | 
    
         
            +
                  it "should have a defined turn_speed method" do
         
     | 
| 
      
 13 
     | 
    
         
            +
                    lambda { @turnable.turn_speed }.should_not raise_error
         
     | 
| 
      
 14 
     | 
    
         
            +
                  end
         
     | 
| 
      
 15 
     | 
    
         
            +
                  it "should return the class defined turn_speed" do
         
     | 
| 
      
 16 
     | 
    
         
            +
                    @turnable.turn_speed.should == 0.5
         
     | 
| 
      
 17 
     | 
    
         
            +
                  end
         
     | 
| 
      
 18 
     | 
    
         
            +
                end
         
     | 
| 
      
 19 
     | 
    
         
            +
              end
         
     | 
| 
      
 20 
     | 
    
         
            +
              
         
     | 
| 
      
 21 
     | 
    
         
            +
              context 'non-default' do
         
     | 
| 
      
 22 
     | 
    
         
            +
                before(:each) do
         
     | 
| 
      
 23 
     | 
    
         
            +
                  @turnable = Class.new do
         
     | 
| 
      
 24 
     | 
    
         
            +
                    include Turnable
         
     | 
| 
      
 25 
     | 
    
         
            +
                    
         
     | 
| 
      
 26 
     | 
    
         
            +
                    turn_speed 1.3
         
     | 
| 
      
 27 
     | 
    
         
            +
                  end.new
         
     | 
| 
      
 28 
     | 
    
         
            +
                  @turnable.stub! :rotation => 1.0
         
     | 
| 
      
 29 
     | 
    
         
            +
                end
         
     | 
| 
      
 30 
     | 
    
         
            +
              
         
     | 
| 
      
 31 
     | 
    
         
            +
                describe "Constants" do
         
     | 
| 
      
 32 
     | 
    
         
            +
                  it "should have turn left" do
         
     | 
| 
      
 33 
     | 
    
         
            +
                    Turnable::Left.should == :turn_left
         
     | 
| 
      
 34 
     | 
    
         
            +
                  end
         
     | 
| 
      
 35 
     | 
    
         
            +
                  it "should have turn right" do
         
     | 
| 
      
 36 
     | 
    
         
            +
                    Turnable::Right.should == :turn_right
         
     | 
| 
      
 37 
     | 
    
         
            +
                  end
         
     | 
| 
      
 38 
     | 
    
         
            +
                end
         
     | 
| 
      
 39 
     | 
    
         
            +
              
         
     | 
| 
      
 40 
     | 
    
         
            +
                describe "turn_speed" do
         
     | 
| 
      
 41 
     | 
    
         
            +
                  it "should have a defined turn_speed method" do
         
     | 
| 
      
 42 
     | 
    
         
            +
                    lambda { @turnable.turn_speed }.should_not raise_error
         
     | 
| 
      
 43 
     | 
    
         
            +
                  end
         
     | 
| 
      
 44 
     | 
    
         
            +
                  it "should return the class defined turn_speed divided by 2" do
         
     | 
| 
      
 45 
     | 
    
         
            +
                    @turnable.turn_speed.should == 0.65
         
     | 
| 
      
 46 
     | 
    
         
            +
                  end
         
     | 
| 
      
 47 
     | 
    
         
            +
                end
         
     | 
| 
      
 48 
     | 
    
         
            +
              
         
     | 
| 
      
 49 
     | 
    
         
            +
                describe "turn_left" do
         
     | 
| 
      
 50 
     | 
    
         
            +
                  it "should subtract an amount from the rotation" do
         
     | 
| 
      
 51 
     | 
    
         
            +
                    @turnable.should_receive(:rotation=).once.with 0.9935
         
     | 
| 
      
 52 
     | 
    
         
            +
                    
         
     | 
| 
      
 53 
     | 
    
         
            +
                    @turnable.turn_left
         
     | 
| 
      
 54 
     | 
    
         
            +
                  end
         
     | 
| 
      
 55 
     | 
    
         
            +
                end
         
     | 
| 
      
 56 
     | 
    
         
            +
                describe "turn_right" do
         
     | 
| 
      
 57 
     | 
    
         
            +
                  it "should add an amount to the rotation" do
         
     | 
| 
      
 58 
     | 
    
         
            +
                    @turnable.should_receive(:rotation=).once.with 1.0065
         
     | 
| 
      
 59 
     | 
    
         
            +
                    
         
     | 
| 
      
 60 
     | 
    
         
            +
                    @turnable.turn_right
         
     | 
| 
      
 61 
     | 
    
         
            +
                  end
         
     | 
| 
      
 62 
     | 
    
         
            +
                end
         
     | 
| 
      
 63 
     | 
    
         
            +
              end
         
     | 
| 
      
 64 
     | 
    
         
            +
              
         
     | 
| 
      
 65 
     | 
    
         
            +
            end
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version 
     | 
|
| 
       5 
5 
     | 
    
         
             
              segments: 
         
     | 
| 
       6 
6 
     | 
    
         
             
              - 0
         
     | 
| 
       7 
7 
     | 
    
         
             
              - 1
         
     | 
| 
       8 
     | 
    
         
            -
              -  
     | 
| 
       9 
     | 
    
         
            -
              version: 0.1. 
     | 
| 
      
 8 
     | 
    
         
            +
              - 9
         
     | 
| 
      
 9 
     | 
    
         
            +
              version: 0.1.9
         
     | 
| 
       10 
10 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       11 
11 
     | 
    
         
             
            authors: 
         
     | 
| 
       12 
12 
     | 
    
         
             
            - Florian Hanke
         
     | 
| 
         @@ -14,7 +14,7 @@ autorequire: 
     | 
|
| 
       14 
14 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       15 
15 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       16 
16 
     | 
    
         | 
| 
       17 
     | 
    
         
            -
            date: 2010- 
     | 
| 
      
 17 
     | 
    
         
            +
            date: 2010-04-04 00:00:00 +02:00
         
     | 
| 
       18 
18 
     | 
    
         
             
            default_executable: 
         
     | 
| 
       19 
19 
     | 
    
         
             
            dependencies: 
         
     | 
| 
       20 
20 
     | 
    
         
             
            - !ruby/object:Gem::Dependency 
         
     | 
| 
         @@ -52,6 +52,7 @@ extra_rdoc_files: [] 
     | 
|
| 
       52 
52 
     | 
    
         
             
            files: 
         
     | 
| 
       53 
53 
     | 
    
         
             
            - Rakefile
         
     | 
| 
       54 
54 
     | 
    
         
             
            - VERSION
         
     | 
| 
      
 55 
     | 
    
         
            +
            - generator/gogogosu.rb
         
     | 
| 
       55 
56 
     | 
    
         
             
            - lib/controls.rb
         
     | 
| 
       56 
57 
     | 
    
         
             
            - lib/extensions/module.rb
         
     | 
| 
       57 
58 
     | 
    
         
             
            - lib/extensions/numeric.rb
         
     | 
| 
         @@ -111,5 +112,11 @@ rubygems_version: 1.3.6 
     | 
|
| 
       111 
112 
     | 
    
         
             
            signing_key: 
         
     | 
| 
       112 
113 
     | 
    
         
             
            specification_version: 3
         
     | 
| 
       113 
114 
     | 
    
         
             
            summary: Default extensions built onto the popular Gosu Framework. Uses Chipmunk for game physics. That's it for now. I'm working on them. Anyway, GAME ON!
         
     | 
| 
       114 
     | 
    
         
            -
            test_files:  
     | 
| 
       115 
     | 
    
         
            -
             
     | 
| 
      
 115 
     | 
    
         
            +
            test_files: 
         
     | 
| 
      
 116 
     | 
    
         
            +
            - spec/lib/extensions/numeric_spec.rb
         
     | 
| 
      
 117 
     | 
    
         
            +
            - spec/lib/traits/shooter_spec.rb
         
     | 
| 
      
 118 
     | 
    
         
            +
            - spec/lib/traits/short_lived_spec.rb
         
     | 
| 
      
 119 
     | 
    
         
            +
            - spec/lib/traits/shot_spec.rb
         
     | 
| 
      
 120 
     | 
    
         
            +
            - spec/lib/traits/targetable_spec.rb
         
     | 
| 
      
 121 
     | 
    
         
            +
            - spec/lib/traits/targeting_spec.rb
         
     | 
| 
      
 122 
     | 
    
         
            +
            - spec/lib/traits/turnable_spec.rb
         
     |