leap 0.4.1 → 0.4.2

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 CHANGED
@@ -11,9 +11,9 @@ 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.10"
15
- gem.add_dependency 'blockenspiel'
16
- gem.add_dependency 'activesupport', '= 3.0.0.beta4'
14
+ gem.add_dependency "characterizable", ">=0.0.11"
15
+ gem.add_dependency 'blockenspiel', '>=0.3.2'
16
+ gem.add_dependency 'activesupport', '>=3.0.0.beta2'
17
17
  end
18
18
  Jeweler::GemcutterTasks.new
19
19
  rescue LoadError
@@ -49,7 +49,7 @@ Rake::RDocTask.new do |rdoc|
49
49
  version = File.exist?('VERSION') ? File.read('VERSION') : ""
50
50
 
51
51
  rdoc.rdoc_dir = 'rdoc'
52
- rdoc.title = "decider #{version}"
52
+ rdoc.title = "leap #{version}"
53
53
  rdoc.rdoc_files.include('README*')
54
54
  rdoc.rdoc_files.include('lib/**/*.rb')
55
55
  end
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.4.1
1
+ 0.4.2
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{leap}
8
- s.version = "0.4.1"
8
+ s.version = "0.4.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"]
12
- s.date = %q{2010-07-16}
12
+ s.date = %q{2010-08-05}
13
13
  s.description = %q{Leap to conclusions}
14
14
  s.email = %q{andy@rossmeissl.net}
15
15
  s.extra_rdoc_files = [
@@ -51,20 +51,20 @@ 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.10"])
55
- s.add_runtime_dependency(%q<blockenspiel>, [">= 0"])
56
- s.add_runtime_dependency(%q<activesupport>, ["= 3.0.0.beta4"])
54
+ s.add_runtime_dependency(%q<characterizable>, [">= 0.0.11"])
55
+ s.add_runtime_dependency(%q<blockenspiel>, [">= 0.3.2"])
56
+ s.add_runtime_dependency(%q<activesupport>, [">= 3.0.0.beta2"])
57
57
  else
58
58
  s.add_dependency(%q<shoulda>, [">= 0"])
59
- s.add_dependency(%q<characterizable>, [">= 0.0.10"])
60
- s.add_dependency(%q<blockenspiel>, [">= 0"])
61
- s.add_dependency(%q<activesupport>, ["= 3.0.0.beta4"])
59
+ s.add_dependency(%q<characterizable>, [">= 0.0.11"])
60
+ s.add_dependency(%q<blockenspiel>, [">= 0.3.2"])
61
+ s.add_dependency(%q<activesupport>, [">= 3.0.0.beta2"])
62
62
  end
63
63
  else
64
64
  s.add_dependency(%q<shoulda>, [">= 0"])
65
- s.add_dependency(%q<characterizable>, [">= 0.0.10"])
66
- s.add_dependency(%q<blockenspiel>, [">= 0"])
67
- s.add_dependency(%q<activesupport>, ["= 3.0.0.beta4"])
65
+ s.add_dependency(%q<characterizable>, [">= 0.0.11"])
66
+ s.add_dependency(%q<blockenspiel>, [">= 0.3.2"])
67
+ s.add_dependency(%q<activesupport>, [">= 3.0.0.beta2"])
68
68
  end
69
69
  end
70
70
 
@@ -20,4 +20,6 @@ module Leap
20
20
  def self.included(base)
21
21
  base.extend ::Leap::Subject
22
22
  end
23
+
24
+ class NoSolutionError < ArgumentError; end
23
25
  end
@@ -4,7 +4,7 @@ module Leap
4
4
 
5
5
  def initialize(goal, options)
6
6
  @goal = goal
7
- @signature_method = options[:with] || {}
7
+ @signature_method = options[:with]
8
8
  @committees = []
9
9
  end
10
10
 
@@ -12,7 +12,7 @@ module Leap
12
12
  options = considerations.extract_options!
13
13
  @deliberations ||= {}
14
14
  @deliberations[goal] = self.class.decisions[goal].make(send(self.class.decisions[goal].signature_method), *considerations.push(options))
15
- @deliberations[goal][goal]
15
+ @deliberations[goal][goal] or raise ::Leap::NoSolutionError
16
16
  end
17
17
  end
18
18
  end
@@ -99,3 +99,11 @@ class Place
99
99
  end
100
100
  end
101
101
  end
102
+
103
+ class Thing
104
+ include Leap
105
+ def characteristics; {} end
106
+ decide :anything, :with => :characteristics do
107
+ committee(:anything) {}
108
+ end
109
+ end
@@ -89,4 +89,16 @@ class TestLeap < Test::Unit::TestCase
89
89
  assert_equal :warm, @place.weather(:summer)
90
90
  end
91
91
  end
92
+
93
+ context "An impossible decision" do
94
+ setup do
95
+ @thing = Thing.new
96
+ end
97
+
98
+ should 'be impossible to make' do
99
+ assert_raise ::Leap::NoSolutionError do
100
+ @thing.anything
101
+ end
102
+ end
103
+ end
92
104
  end
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 4
8
- - 1
9
- version: 0.4.1
8
+ - 2
9
+ version: 0.4.2
10
10
  platform: ruby
11
11
  authors:
12
12
  - Andy Rossmeissl
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-07-16 00:00:00 -04:00
18
+ date: 2010-08-05 00:00:00 -05:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -40,8 +40,8 @@ dependencies:
40
40
  segments:
41
41
  - 0
42
42
  - 0
43
- - 10
44
- version: 0.0.10
43
+ - 11
44
+ version: 0.0.11
45
45
  type: :runtime
46
46
  version_requirements: *id002
47
47
  - !ruby/object:Gem::Dependency
@@ -53,7 +53,9 @@ dependencies:
53
53
  - !ruby/object:Gem::Version
54
54
  segments:
55
55
  - 0
56
- version: "0"
56
+ - 3
57
+ - 2
58
+ version: 0.3.2
57
59
  type: :runtime
58
60
  version_requirements: *id003
59
61
  - !ruby/object:Gem::Dependency
@@ -61,14 +63,14 @@ dependencies:
61
63
  prerelease: false
62
64
  requirement: &id004 !ruby/object:Gem::Requirement
63
65
  requirements:
64
- - - "="
66
+ - - ">="
65
67
  - !ruby/object:Gem::Version
66
68
  segments:
67
69
  - 3
68
70
  - 0
69
71
  - 0
70
- - beta4
71
- version: 3.0.0.beta4
72
+ - beta2
73
+ version: 3.0.0.beta2
72
74
  type: :runtime
73
75
  version_requirements: *id004
74
76
  description: Leap to conclusions