rubin 0.0.0 → 0.1.0

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/README.rdoc CHANGED
@@ -1,6 +1,26 @@
1
1
  = rubin
2
2
 
3
- Description goes here.
3
+ Round Robin Generator
4
+
5
+ == Usage
6
+
7
+ require 'rubin'
8
+
9
+ teams = %w(England, France, Italy, Germany)
10
+ teams.compete
11
+
12
+ # Output
13
+ Round 1
14
+ Englind v Italy
15
+ France v Germany
16
+
17
+ Round 2
18
+ France v Englind
19
+ Italy v Germany
20
+
21
+ Round 3
22
+ Italy v France
23
+ Englind v Germany
4
24
 
5
25
  == Note on Patches/Pull Requests
6
26
 
data/Rakefile CHANGED
@@ -5,42 +5,33 @@ begin
5
5
  require 'jeweler'
6
6
  Jeweler::Tasks.new do |gem|
7
7
  gem.name = "rubin"
8
- gem.summary = "Round Robin for Ruby"
8
+ gem.summary = "Round Robin Generator"
9
9
  gem.description = "Round Robin Generator"
10
10
  gem.email = "rit@quietdynamite.com"
11
11
  gem.homepage = "http://github.com/rit/rubin"
12
12
  gem.authors = ["Rit Li"]
13
- gem.add_development_dependency "thoughtbot-shoulda", ">= 0"
14
- # gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
13
+ gem.add_development_dependency "rspec", ">= 1.2.9"
15
14
  end
16
15
  Jeweler::GemcutterTasks.new
17
16
  rescue LoadError
18
17
  puts "Jeweler (or a dependency) not available. Install it with: gem install jeweler"
19
18
  end
20
19
 
21
- require 'rake/testtask'
22
- Rake::TestTask.new(:test) do |test|
23
- test.libs << 'lib' << 'test'
24
- test.pattern = 'test/**/test_*.rb'
25
- test.verbose = true
20
+ require 'spec/rake/spectask'
21
+ Spec::Rake::SpecTask.new(:spec) do |spec|
22
+ spec.libs << 'lib' << 'spec'
23
+ spec.spec_files = FileList['spec/**/*_spec.rb']
26
24
  end
27
25
 
28
- begin
29
- require 'rcov/rcovtask'
30
- Rcov::RcovTask.new do |test|
31
- test.libs << 'test'
32
- test.pattern = 'test/**/test_*.rb'
33
- test.verbose = true
34
- end
35
- rescue LoadError
36
- task :rcov do
37
- abort "RCov is not available. In order to run rcov, you must: sudo gem install spicycode-rcov"
38
- end
26
+ Spec::Rake::SpecTask.new(:rcov) do |spec|
27
+ spec.libs << 'lib' << 'spec'
28
+ spec.pattern = 'spec/**/*_spec.rb'
29
+ spec.rcov = true
39
30
  end
40
31
 
41
- task :test => :check_dependencies
32
+ task :spec => :check_dependencies
42
33
 
43
- task :default => :test
34
+ task :default => :spec
44
35
 
45
36
  require 'rake/rdoctask'
46
37
  Rake::RDocTask.new do |rdoc|
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.0
1
+ 0.1.0
data/lib/rubin.rb CHANGED
@@ -0,0 +1,44 @@
1
+ module Rubin
2
+ def each_pair
3
+ members = self.dup
4
+ members << nil if members.size.odd?
5
+ rounds = members.size - 1
6
+ 1.upto(rounds) do |round|
7
+ members._pairing do |left, right|
8
+ yield [left, right, round]
9
+ end
10
+ members._spin
11
+ end
12
+ end
13
+
14
+ def _spin
15
+ # 1 4 2 1
16
+ # 2 5 => 3 4
17
+ # 3 6 5 6
18
+ # 6 is fixed
19
+ self.insert(self.size/2-1, self.delete_at(-2), self.shift)
20
+ end
21
+
22
+ def _pairing
23
+ members = self.dup
24
+ count = members.size/2
25
+ 0.upto(count-1) do |i|
26
+ yield [members[i], members[i+count]]
27
+ end
28
+ end
29
+
30
+ def compete
31
+ current = 0
32
+ each_pair do |left, right, round|
33
+ if current < round
34
+ puts "\nRound #{round}"
35
+ current = round
36
+ end
37
+ puts "#{left} v #{right}" if left && right
38
+ end
39
+ end
40
+ end
41
+
42
+ class Array
43
+ include Rubin
44
+ end
@@ -0,0 +1,5 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
+
3
+ describe "Rubin" do
4
+ it "needs spec"
5
+ end
data/spec/spec.opts ADDED
@@ -0,0 +1 @@
1
+ --color
@@ -1,10 +1,9 @@
1
- require 'rubygems'
2
- require 'test/unit'
3
- require 'shoulda'
4
-
5
- $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
6
1
  $LOAD_PATH.unshift(File.dirname(__FILE__))
2
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
7
3
  require 'rubin'
4
+ require 'spec'
5
+ require 'spec/autorun'
8
6
 
9
- class Test::Unit::TestCase
7
+ Spec::Runner.configure do |config|
8
+
10
9
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rubin
3
3
  version: !ruby/object:Gem::Version
4
- hash: 31
4
+ hash: 27
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
+ - 1
8
9
  - 0
9
- - 0
10
- version: 0.0.0
10
+ version: 0.1.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Rit Li
@@ -15,21 +15,23 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-09-30 00:00:00 -07:00
18
+ date: 2010-10-05 00:00:00 -07:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
22
- name: thoughtbot-shoulda
22
+ name: rspec
23
23
  prerelease: false
24
24
  requirement: &id001 !ruby/object:Gem::Requirement
25
25
  none: false
26
26
  requirements:
27
27
  - - ">="
28
28
  - !ruby/object:Gem::Version
29
- hash: 3
29
+ hash: 13
30
30
  segments:
31
- - 0
32
- version: "0"
31
+ - 1
32
+ - 2
33
+ - 9
34
+ version: 1.2.9
33
35
  type: :development
34
36
  version_requirements: *id001
35
37
  description: Round Robin Generator
@@ -49,8 +51,9 @@ files:
49
51
  - Rakefile
50
52
  - VERSION
51
53
  - lib/rubin.rb
52
- - test/helper.rb
53
- - test/test_rubin.rb
54
+ - spec/rubin_spec.rb
55
+ - spec/spec.opts
56
+ - spec/spec_helper.rb
54
57
  has_rdoc: true
55
58
  homepage: http://github.com/rit/rubin
56
59
  licenses: []
@@ -84,7 +87,7 @@ rubyforge_project:
84
87
  rubygems_version: 1.3.7
85
88
  signing_key:
86
89
  specification_version: 3
87
- summary: Round Robin for Ruby
90
+ summary: Round Robin Generator
88
91
  test_files:
89
- - test/helper.rb
90
- - test/test_rubin.rb
92
+ - spec/rubin_spec.rb
93
+ - spec/spec_helper.rb
data/test/test_rubin.rb DELETED
@@ -1,7 +0,0 @@
1
- require 'helper'
2
-
3
- class TestRubin < Test::Unit::TestCase
4
- should "probably rename this file and start testing for real" do
5
- flunk "hey buddy, you should probably rename this file and start testing for real"
6
- end
7
- end