leap 0.3.1 → 0.3.2

Sign up to get free protection for your applications and to get access to all the features.
data/Rakefile CHANGED
@@ -11,7 +11,7 @@ begin
11
11
  gem.homepage = "http://github.com/rossmeissl/leap"
12
12
  gem.authors = ["Andy Rossmeissl", "Seamus Abshere"]
13
13
  gem.add_development_dependency "shoulda", ">= 0"
14
- gem.add_dependency "characterizable", ">=0.0.2"
14
+ gem.add_dependency "characterizable", ">=0.0.10"
15
15
  gem.add_dependency 'blockenspiel'
16
16
  gem.add_dependency 'activesupport', '= 3.0.0.beta4'
17
17
  end
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.3.1
1
+ 0.3.2
data/leap.gemspec CHANGED
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{leap}
8
- s.version = "0.3.1"
8
+ s.version = "0.3.2"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Andy Rossmeissl", "Seamus Abshere"]
@@ -51,18 +51,18 @@ Gem::Specification.new do |s|
51
51
 
52
52
  if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
53
53
  s.add_development_dependency(%q<shoulda>, [">= 0"])
54
- s.add_runtime_dependency(%q<characterizable>, [">= 0.0.2"])
54
+ s.add_runtime_dependency(%q<characterizable>, [">= 0.0.10"])
55
55
  s.add_runtime_dependency(%q<blockenspiel>, [">= 0"])
56
56
  s.add_runtime_dependency(%q<activesupport>, ["= 3.0.0.beta4"])
57
57
  else
58
58
  s.add_dependency(%q<shoulda>, [">= 0"])
59
- s.add_dependency(%q<characterizable>, [">= 0.0.2"])
59
+ s.add_dependency(%q<characterizable>, [">= 0.0.10"])
60
60
  s.add_dependency(%q<blockenspiel>, [">= 0"])
61
61
  s.add_dependency(%q<activesupport>, ["= 3.0.0.beta4"])
62
62
  end
63
63
  else
64
64
  s.add_dependency(%q<shoulda>, [">= 0"])
65
- s.add_dependency(%q<characterizable>, [">= 0.0.2"])
65
+ s.add_dependency(%q<characterizable>, [">= 0.0.10"])
66
66
  s.add_dependency(%q<blockenspiel>, [">= 0"])
67
67
  s.add_dependency(%q<activesupport>, ["= 3.0.0.beta4"])
68
68
  end
@@ -10,7 +10,7 @@ module Leap
10
10
  def report(characteristics, considerations)
11
11
  quorums.grab do |quorum|
12
12
  next unless quorum.satisfied_by? characteristics
13
- if conclusion = quorum.acknowledge(characteristics, considerations.dup)
13
+ if conclusion = quorum.acknowledge(characteristics.slice(*quorum.characteristics), considerations.dup)
14
14
  ::Leap::Report.new self, quorum => conclusion
15
15
  end
16
16
  end
data/lib/leap/quorum.rb CHANGED
@@ -16,5 +16,9 @@ module Leap
16
16
  considerations.unshift characteristics
17
17
  process.call(*considerations[0...process.arity])
18
18
  end
19
+
20
+ def characteristics
21
+ requirements + supplements
22
+ end
19
23
  end
20
24
  end
data/test/helper.rb CHANGED
@@ -60,6 +60,12 @@ class Person
60
60
  ('A'..'Z').to_a.index(characteristics[:name].chars.to_a.first) / ('A'..'Z').to_a.index(characteristics[:name].chars.to_a.last)
61
61
  end
62
62
  end
63
+
64
+ committee :litmus do
65
+ quorum 'litmus', :appreciates => :dummy do |characteristics|
66
+ characteristics
67
+ end
68
+ end
63
69
  end
64
70
  end
65
71
 
data/test/test_leap.rb CHANGED
@@ -22,13 +22,18 @@ class TestLeap < Test::Unit::TestCase
22
22
 
23
23
  should 'nevertheless remember how his lucky number was determined' do
24
24
  @person.lucky_number # make the decision
25
- assert_equal({ :magic_integer => 6, :lucky_number => 36, :age => 5}, @person.deliberations[:lucky_number].characteristics)
25
+ assert_equal({ :magic_integer => 6, :lucky_number => 36, :age => 5, :litmus => {}}, @person.deliberations[:lucky_number].characteristics)
26
26
  assert_equal 'ninja style', @person.deliberations[:lucky_number].reports.find{ |r| r.committee.name == :magic_integer }.quorum.name
27
27
  end
28
28
 
29
29
  should 'but only as long as it had actually been determined' do
30
30
  assert_nil @person.deliberations
31
31
  end
32
+
33
+ should 'only give quorums what they ask for' do
34
+ @person.lucky_number # make the decision
35
+ assert_equal({}, @person.deliberations[:lucky_number].reports.find{ |r| r.committee.name == :litmus }.conclusion)
36
+ end
32
37
  end
33
38
 
34
39
  context "A generic place" do
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 3
8
- - 1
9
- version: 0.3.1
8
+ - 2
9
+ version: 0.3.2
10
10
  platform: ruby
11
11
  authors:
12
12
  - Andy Rossmeissl
@@ -40,8 +40,8 @@ dependencies:
40
40
  segments:
41
41
  - 0
42
42
  - 0
43
- - 2
44
- version: 0.0.2
43
+ - 10
44
+ version: 0.0.10
45
45
  type: :runtime
46
46
  version_requirements: *id002
47
47
  - !ruby/object:Gem::Dependency