leap 0.4.1 → 0.4.2

Sign up to get free protection for your applications and to get access to all the features.
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