leap 0.4.3 → 0.4.4

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile ADDED
@@ -0,0 +1,3 @@
1
+ source :rubygems
2
+
3
+ gemspec :path => '.'
@@ -0,0 +1,26 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ leap (0.4.3)
5
+ activesupport (>= 3.0.0.beta2)
6
+ blockenspiel (>= 0.3.2)
7
+
8
+ GEM
9
+ remote: http://rubygems.org/
10
+ specs:
11
+ activesupport (3.0.1)
12
+ blockenspiel (0.4.1)
13
+ characterizable (0.0.17)
14
+ activesupport (>= 2.3.5)
15
+ blockenspiel (>= 0.3.2)
16
+ shoulda (2.11.3)
17
+
18
+ PLATFORMS
19
+ ruby
20
+
21
+ DEPENDENCIES
22
+ activesupport (>= 3.0.0.beta2)
23
+ blockenspiel (>= 0.3.2)
24
+ characterizable (>= 0.0.11)
25
+ leap!
26
+ shoulda
data/Rakefile CHANGED
@@ -10,10 +10,12 @@ begin
10
10
  gem.email = "andy@rossmeissl.net"
11
11
  gem.homepage = "http://github.com/rossmeissl/leap"
12
12
  gem.authors = ["Andy Rossmeissl", "Seamus Abshere"]
13
- gem.add_development_dependency "shoulda", ">= 0"
14
13
  gem.add_development_dependency "characterizable", ">=0.0.11"
14
+ gem.add_development_dependency "shoulda", ">= 0"
15
+ gem.add_development_dependency "jeweler", ">= 0"
15
16
  gem.add_dependency 'blockenspiel', '>=0.3.2'
16
- gem.add_dependency 'activesupport', '>=3.0.0.beta2'
17
+ gem.add_dependency 'activesupport', '~> 3.0.0'
18
+ gem.add_dependency 'builder', '~> 2.1.2'
17
19
  end
18
20
  Jeweler::GemcutterTasks.new
19
21
  rescue LoadError
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.4.3
1
+ 0.4.4
@@ -1,71 +1,86 @@
1
- # Generated by jeweler
2
- # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Jeweler::Tasks in rakefile, and run the gemspec command
4
- # -*- encoding: utf-8 -*-
5
-
6
- Gem::Specification.new do |s|
7
- s.name = %q{leap}
8
- s.version = "0.4.3"
9
-
10
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
- s.authors = ["Andy Rossmeissl", "Seamus Abshere"]
12
- s.date = %q{2010-08-12}
13
- s.description = %q{Leap to conclusions}
14
- s.email = %q{andy@rossmeissl.net}
15
- s.extra_rdoc_files = [
16
- "LICENSE",
17
- "README.rdoc"
18
- ]
19
- s.files = [
20
- ".document",
21
- ".gitignore",
22
- "LICENSE",
23
- "README.rdoc",
24
- "Rakefile",
25
- "VERSION",
26
- "leap.gemspec",
27
- "lib/leap.rb",
28
- "lib/leap/committee.rb",
29
- "lib/leap/core_ext.rb",
30
- "lib/leap/decision.rb",
31
- "lib/leap/deliberation.rb",
32
- "lib/leap/implicit_attributes.rb",
33
- "lib/leap/quorum.rb",
34
- "lib/leap/report.rb",
35
- "lib/leap/subject.rb",
36
- "test/helper.rb",
37
- "test/test_leap.rb"
38
- ]
39
- s.homepage = %q{http://github.com/rossmeissl/leap}
40
- s.rdoc_options = ["--charset=UTF-8"]
41
- s.require_paths = ["lib"]
42
- s.rubygems_version = %q{1.3.6}
43
- s.summary = %q{A heuristics engine for your Ruby objects}
44
- s.test_files = [
45
- "test/helper.rb",
46
- "test/test_leap.rb"
47
- ]
48
-
49
- if s.respond_to? :specification_version then
50
- current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
51
- s.specification_version = 3
52
-
53
- if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
54
- s.add_development_dependency(%q<shoulda>, [">= 0"])
55
- s.add_development_dependency(%q<characterizable>, [">= 0.0.11"])
56
- s.add_runtime_dependency(%q<blockenspiel>, [">= 0.3.2"])
57
- s.add_runtime_dependency(%q<activesupport>, [">= 3.0.0.beta2"])
58
- else
59
- s.add_dependency(%q<shoulda>, [">= 0"])
60
- s.add_dependency(%q<characterizable>, [">= 0.0.11"])
61
- s.add_dependency(%q<blockenspiel>, [">= 0.3.2"])
62
- s.add_dependency(%q<activesupport>, [">= 3.0.0.beta2"])
63
- end
64
- else
65
- s.add_dependency(%q<shoulda>, [">= 0"])
66
- s.add_dependency(%q<characterizable>, [">= 0.0.11"])
67
- s.add_dependency(%q<blockenspiel>, [">= 0.3.2"])
68
- s.add_dependency(%q<activesupport>, [">= 3.0.0.beta2"])
69
- end
70
- end
71
-
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
4
+ # -*- encoding: utf-8 -*-
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = %q{leap}
8
+ s.version = "0.4.4"
9
+
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
+ s.authors = ["Andy Rossmeissl", "Seamus Abshere"]
12
+ s.date = %q{2010-10-28}
13
+ s.description = %q{Leap to conclusions}
14
+ s.email = %q{andy@rossmeissl.net}
15
+ s.extra_rdoc_files = [
16
+ "LICENSE",
17
+ "README.rdoc"
18
+ ]
19
+ s.files = [
20
+ ".document",
21
+ ".gitignore",
22
+ "Gemfile",
23
+ "Gemfile.lock",
24
+ "LICENSE",
25
+ "README.rdoc",
26
+ "Rakefile",
27
+ "VERSION",
28
+ "leap.gemspec",
29
+ "lib/leap.rb",
30
+ "lib/leap/committee.rb",
31
+ "lib/leap/core_ext.rb",
32
+ "lib/leap/decision.rb",
33
+ "lib/leap/deliberation.rb",
34
+ "lib/leap/implicit_attributes.rb",
35
+ "lib/leap/quorum.rb",
36
+ "lib/leap/report.rb",
37
+ "lib/leap/subject.rb",
38
+ "lib/leap/xml_serializer.rb",
39
+ "test/helper.rb",
40
+ "test/leap/test_committee.rb",
41
+ "test/leap/test_quorum.rb",
42
+ "test/leap/test_report.rb",
43
+ "test/test_leap.rb"
44
+ ]
45
+ s.homepage = %q{http://github.com/rossmeissl/leap}
46
+ s.rdoc_options = ["--charset=UTF-8"]
47
+ s.require_paths = ["lib"]
48
+ s.rubygems_version = %q{1.3.7}
49
+ s.summary = %q{A heuristics engine for your Ruby objects}
50
+ s.test_files = [
51
+ "test/leap/test_report.rb",
52
+ "test/leap/test_committee.rb",
53
+ "test/leap/test_quorum.rb",
54
+ "test/test_leap.rb",
55
+ "test/helper.rb"
56
+ ]
57
+
58
+ if s.respond_to? :specification_version then
59
+ current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
60
+ s.specification_version = 3
61
+
62
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
63
+ s.add_development_dependency(%q<characterizable>, [">= 0.0.11"])
64
+ s.add_development_dependency(%q<shoulda>, [">= 0"])
65
+ s.add_development_dependency(%q<jeweler>, [">= 0"])
66
+ s.add_runtime_dependency(%q<blockenspiel>, [">= 0.3.2"])
67
+ s.add_runtime_dependency(%q<activesupport>, ["~> 3.0.0"])
68
+ s.add_runtime_dependency(%q<builder>, ["~> 2.1.2"])
69
+ else
70
+ s.add_dependency(%q<characterizable>, [">= 0.0.11"])
71
+ s.add_dependency(%q<shoulda>, [">= 0"])
72
+ s.add_dependency(%q<jeweler>, [">= 0"])
73
+ s.add_dependency(%q<blockenspiel>, [">= 0.3.2"])
74
+ s.add_dependency(%q<activesupport>, ["~> 3.0.0"])
75
+ s.add_dependency(%q<builder>, ["~> 2.1.2"])
76
+ end
77
+ else
78
+ s.add_dependency(%q<characterizable>, [">= 0.0.11"])
79
+ s.add_dependency(%q<shoulda>, [">= 0"])
80
+ s.add_dependency(%q<jeweler>, [">= 0"])
81
+ s.add_dependency(%q<blockenspiel>, [">= 0.3.2"])
82
+ s.add_dependency(%q<activesupport>, ["~> 3.0.0"])
83
+ s.add_dependency(%q<builder>, ["~> 2.1.2"])
84
+ end
85
+ end
86
+
@@ -9,6 +9,7 @@ end if ActiveSupport::VERSION::MAJOR == 3
9
9
  require 'blockenspiel'
10
10
 
11
11
  require 'leap/core_ext'
12
+ require 'leap/xml_serializer'
12
13
  require 'leap/subject'
13
14
  require 'leap/committee'
14
15
  require 'leap/quorum'
@@ -23,4 +24,4 @@ module Leap
23
24
  end
24
25
 
25
26
  class NoSolutionError < ArgumentError; end
26
- end
27
+ end
@@ -1,5 +1,7 @@
1
1
  module Leap
2
2
  class Committee
3
+ include XmlSerializer
4
+
3
5
  attr_reader :name, :quorums
4
6
 
5
7
  def initialize(name)
@@ -15,6 +17,22 @@ module Leap
15
17
  end
16
18
  end
17
19
  end
20
+
21
+ def as_json(*)
22
+ {
23
+ 'name' => name.to_s,
24
+ 'quorums' => quorums.map(&:as_json)
25
+ }
26
+ end
27
+
28
+ def to_xml(options = {})
29
+ super options do |xml|
30
+ xml.committee do |committee_block|
31
+ committee_block.name name.to_s, :type => 'string'
32
+ array_to_xml(committee_block, :quorums, quorums)
33
+ end
34
+ end
35
+ end
18
36
 
19
37
  include ::Blockenspiel::DSL
20
38
  def quorum(name, options = {}, &blk)
@@ -1,7 +1,7 @@
1
1
  module Leap
2
2
  module ImplicitAttributes
3
3
  def _leap_implicit_attributes
4
- Hash[*instance_variables.map { |variable| variable.delete('@').to_sym }.zip(instance_variables.map { |variable| instance_variable_get variable }).flatten]
4
+ Hash[*instance_variables.map { |variable| variable.to_s.delete('@').to_sym }.zip(instance_variables.map { |variable| instance_variable_get variable }).flatten]
5
5
  end
6
6
  end
7
7
  end
@@ -1,5 +1,7 @@
1
1
  module Leap
2
2
  class Quorum
3
+ include XmlSerializer
4
+
3
5
  attr_reader :name, :requirements, :supplements, :process, :compliance
4
6
  def initialize(name, options, blk)
5
7
  @name = name
@@ -25,5 +27,25 @@ module Leap
25
27
  def characteristics
26
28
  requirements + supplements
27
29
  end
30
+
31
+ def as_json(*)
32
+ {
33
+ 'name' => name.to_s,
34
+ 'requirements' => requirements.map(&:to_s),
35
+ 'appreciates' => supplements.map(&:to_s),
36
+ 'complies' => compliance.map(&:to_s)
37
+ }
38
+ end
39
+
40
+ def to_xml(options = {})
41
+ super options do |xml|
42
+ xml.quorum do |quorum_block|
43
+ quorum_block.name name.to_s, :type => 'string'
44
+ array_to_xml(quorum_block, :requirements, requirements)
45
+ array_to_xml(quorum_block, :appreciates, supplements, 'supplement')
46
+ array_to_xml(quorum_block, :complies, compliance, 'compliance')
47
+ end
48
+ end
49
+ end
28
50
  end
29
51
  end
@@ -1,5 +1,7 @@
1
1
  module Leap
2
2
  class Report
3
+ include XmlSerializer
4
+
3
5
  attr_reader :committee, :conclusion, :quorum
4
6
 
5
7
  def initialize(committee, report)
@@ -8,5 +10,23 @@ module Leap
8
10
  raise ArgumentError, 'Please report with quorum => conclusion' unless report.is_a?(Hash) and report.length == 1
9
11
  @quorum, @conclusion = report.first
10
12
  end
13
+
14
+ def as_json(*)
15
+ {
16
+ 'committee' => committee.as_json,
17
+ 'conclusion' => conclusion,
18
+ 'quorum' => quorum.as_json
19
+ }
20
+ end
21
+
22
+ def to_xml(options = {})
23
+ super options do |xml|
24
+ xml.report do |report_block|
25
+ committee.to_xml(options.merge :skip_instruct => true, :builder => report_block)
26
+ report_block.conclusion conclusion, :type => conclusion.class.to_s.downcase
27
+ quorum.to_xml(options.merge :skip_instruct => true, :builder => report_block)
28
+ end
29
+ end
30
+ end
11
31
  end
12
32
  end
@@ -0,0 +1,27 @@
1
+ require 'builder'
2
+ require 'active_support/inflector'
3
+
4
+ module Leap
5
+ module XmlSerializer
6
+ def to_xml(options = {})
7
+ options[:indent] ||= 2
8
+ xml = options[:builder] ||= Builder::XmlMarkup.new(options)
9
+ xml.instruct! unless options[:skip_instruct]
10
+ yield xml
11
+ xml.to_s
12
+ end
13
+
14
+ def array_to_xml(xml, name, array, singular_name = name.to_s.singularize)
15
+ xml.send name, :type => 'array' do |subblock|
16
+ array.each do |item|
17
+ if item.is_a? Symbol or !item.respond_to?(:to_xml)
18
+ item = item.to_s if item.is_a?(Symbol)
19
+ subblock.send singular_name, item, :type => 'string'
20
+ else
21
+ item.to_xml(:builder => subblock, :skip_instruct => true)
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,42 @@
1
+ require 'helper'
2
+
3
+ class Leap::CommitteeTest < Test::Unit::TestCase
4
+ context 'to_xml' do
5
+ should 'serialize to xml' do
6
+ committee = Leap::Committee.new 'Senate Committee on Chocolate Cookies'
7
+ committee.instance_variable_set :@quorums, [
8
+ Leap::Quorum.new('with chocolate chips', {}, Proc.new {}),
9
+ Leap::Quorum.new('with macadamia nuts', {}, Proc.new {})
10
+ ]
11
+
12
+ output = ''
13
+ committee.to_xml(:target => output)
14
+ assert_equal(<<XML, output)
15
+ <?xml version=\"1.0\" encoding=\"UTF-8\"?>
16
+ <committee>
17
+ <name type="string">Senate Committee on Chocolate Cookies</name>
18
+ <quorums type="array">
19
+ <quorum>
20
+ <name type="string">with chocolate chips</name>
21
+ <requirements type="array">
22
+ </requirements>
23
+ <appreciates type="array">
24
+ </appreciates>
25
+ <complies type="array">
26
+ </complies>
27
+ </quorum>
28
+ <quorum>
29
+ <name type="string">with macadamia nuts</name>
30
+ <requirements type="array">
31
+ </requirements>
32
+ <appreciates type="array">
33
+ </appreciates>
34
+ <complies type="array">
35
+ </complies>
36
+ </quorum>
37
+ </quorums>
38
+ </committee>
39
+ XML
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,31 @@
1
+ require 'helper'
2
+
3
+ class Leap::QuorumTest < Test::Unit::TestCase
4
+ context 'to_xml' do
5
+ should 'serialize to xml' do
6
+ quorum = Leap::Quorum.new(
7
+ 'roll call',
8
+ { :needs => :count, :complies => :rules_of_endearment, :appreciates => [:adulation, :confirmation] },
9
+ Proc.new {})
10
+
11
+ output = ''
12
+ quorum.to_xml(:target => output)
13
+ assert_equal(<<XML, output)
14
+ <?xml version=\"1.0\" encoding=\"UTF-8\"?>
15
+ <quorum>
16
+ <name type="string">roll call</name>
17
+ <requirements type="array">
18
+ <requirement type="string">count</requirement>
19
+ </requirements>
20
+ <appreciates type="array">
21
+ <supplement type="string">adulation</supplement>
22
+ <supplement type="string">confirmation</supplement>
23
+ </appreciates>
24
+ <complies type="array">
25
+ <compliance type="string">rules_of_endearment</compliance>
26
+ </complies>
27
+ </quorum>
28
+ XML
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,55 @@
1
+ require 'helper'
2
+
3
+ class Leap::ReportTest < Test::Unit::TestCase
4
+ context 'to_xml' do
5
+ should 'serialize to xml' do
6
+ choc = Leap::Quorum.new('with chocolate chips', {}, Proc.new {})
7
+ mac = Leap::Quorum.new('with macadamia nuts', {}, Proc.new {})
8
+ committee = Leap::Committee.new 'Senate Committee on Chocolate Cookies'
9
+ committee.instance_variable_set :@quorums, [choc, mac]
10
+
11
+ report = Leap::Report.new committee, choc => 'good'
12
+
13
+ output = ''
14
+ report.to_xml(:target => output)
15
+ assert_equal(<<XML, output)
16
+ <?xml version=\"1.0\" encoding=\"UTF-8\"?>
17
+ <report>
18
+ <committee>
19
+ <name type="string">Senate Committee on Chocolate Cookies</name>
20
+ <quorums type="array">
21
+ <quorum>
22
+ <name type="string">with chocolate chips</name>
23
+ <requirements type="array">
24
+ </requirements>
25
+ <appreciates type="array">
26
+ </appreciates>
27
+ <complies type="array">
28
+ </complies>
29
+ </quorum>
30
+ <quorum>
31
+ <name type="string">with macadamia nuts</name>
32
+ <requirements type="array">
33
+ </requirements>
34
+ <appreciates type="array">
35
+ </appreciates>
36
+ <complies type="array">
37
+ </complies>
38
+ </quorum>
39
+ </quorums>
40
+ </committee>
41
+ <conclusion type="string">good</conclusion>
42
+ <quorum>
43
+ <name type="string">with chocolate chips</name>
44
+ <requirements type="array">
45
+ </requirements>
46
+ <appreciates type="array">
47
+ </appreciates>
48
+ <complies type="array">
49
+ </complies>
50
+ </quorum>
51
+ </report>
52
+ XML
53
+ end
54
+ end
55
+ end
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 4
8
- - 3
9
- version: 0.4.3
8
+ - 4
9
+ version: 0.4.4
10
10
  platform: ruby
11
11
  authors:
12
12
  - Andy Rossmeissl
@@ -15,39 +15,55 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-08-12 00:00:00 -05:00
18
+ date: 2010-10-28 00:00:00 -04:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
22
- name: shoulda
22
+ name: characterizable
23
23
  prerelease: false
24
24
  requirement: &id001 !ruby/object:Gem::Requirement
25
+ none: false
25
26
  requirements:
26
27
  - - ">="
27
28
  - !ruby/object:Gem::Version
28
29
  segments:
29
30
  - 0
30
- version: "0"
31
+ - 0
32
+ - 11
33
+ version: 0.0.11
31
34
  type: :development
32
35
  version_requirements: *id001
33
36
  - !ruby/object:Gem::Dependency
34
- name: characterizable
37
+ name: shoulda
35
38
  prerelease: false
36
39
  requirement: &id002 !ruby/object:Gem::Requirement
40
+ none: false
37
41
  requirements:
38
42
  - - ">="
39
43
  - !ruby/object:Gem::Version
40
44
  segments:
41
45
  - 0
42
- - 0
43
- - 11
44
- version: 0.0.11
46
+ version: "0"
45
47
  type: :development
46
48
  version_requirements: *id002
47
49
  - !ruby/object:Gem::Dependency
48
- name: blockenspiel
50
+ name: jeweler
49
51
  prerelease: false
50
52
  requirement: &id003 !ruby/object:Gem::Requirement
53
+ none: false
54
+ requirements:
55
+ - - ">="
56
+ - !ruby/object:Gem::Version
57
+ segments:
58
+ - 0
59
+ version: "0"
60
+ type: :development
61
+ version_requirements: *id003
62
+ - !ruby/object:Gem::Dependency
63
+ name: blockenspiel
64
+ prerelease: false
65
+ requirement: &id004 !ruby/object:Gem::Requirement
66
+ none: false
51
67
  requirements:
52
68
  - - ">="
53
69
  - !ruby/object:Gem::Version
@@ -57,22 +73,37 @@ dependencies:
57
73
  - 2
58
74
  version: 0.3.2
59
75
  type: :runtime
60
- version_requirements: *id003
76
+ version_requirements: *id004
61
77
  - !ruby/object:Gem::Dependency
62
78
  name: activesupport
63
79
  prerelease: false
64
- requirement: &id004 !ruby/object:Gem::Requirement
80
+ requirement: &id005 !ruby/object:Gem::Requirement
81
+ none: false
65
82
  requirements:
66
- - - ">="
83
+ - - ~>
67
84
  - !ruby/object:Gem::Version
68
85
  segments:
69
86
  - 3
70
87
  - 0
71
88
  - 0
72
- - beta2
73
- version: 3.0.0.beta2
89
+ version: 3.0.0
74
90
  type: :runtime
75
- version_requirements: *id004
91
+ version_requirements: *id005
92
+ - !ruby/object:Gem::Dependency
93
+ name: builder
94
+ prerelease: false
95
+ requirement: &id006 !ruby/object:Gem::Requirement
96
+ none: false
97
+ requirements:
98
+ - - ~>
99
+ - !ruby/object:Gem::Version
100
+ segments:
101
+ - 2
102
+ - 1
103
+ - 2
104
+ version: 2.1.2
105
+ type: :runtime
106
+ version_requirements: *id006
76
107
  description: Leap to conclusions
77
108
  email: andy@rossmeissl.net
78
109
  executables: []
@@ -85,6 +116,8 @@ extra_rdoc_files:
85
116
  files:
86
117
  - .document
87
118
  - .gitignore
119
+ - Gemfile
120
+ - Gemfile.lock
88
121
  - LICENSE
89
122
  - README.rdoc
90
123
  - Rakefile
@@ -99,7 +132,11 @@ files:
99
132
  - lib/leap/quorum.rb
100
133
  - lib/leap/report.rb
101
134
  - lib/leap/subject.rb
135
+ - lib/leap/xml_serializer.rb
102
136
  - test/helper.rb
137
+ - test/leap/test_committee.rb
138
+ - test/leap/test_quorum.rb
139
+ - test/leap/test_report.rb
103
140
  - test/test_leap.rb
104
141
  has_rdoc: true
105
142
  homepage: http://github.com/rossmeissl/leap
@@ -111,6 +148,7 @@ rdoc_options:
111
148
  require_paths:
112
149
  - lib
113
150
  required_ruby_version: !ruby/object:Gem::Requirement
151
+ none: false
114
152
  requirements:
115
153
  - - ">="
116
154
  - !ruby/object:Gem::Version
@@ -118,6 +156,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
118
156
  - 0
119
157
  version: "0"
120
158
  required_rubygems_version: !ruby/object:Gem::Requirement
159
+ none: false
121
160
  requirements:
122
161
  - - ">="
123
162
  - !ruby/object:Gem::Version
@@ -127,10 +166,13 @@ required_rubygems_version: !ruby/object:Gem::Requirement
127
166
  requirements: []
128
167
 
129
168
  rubyforge_project:
130
- rubygems_version: 1.3.6
169
+ rubygems_version: 1.3.7
131
170
  signing_key:
132
171
  specification_version: 3
133
172
  summary: A heuristics engine for your Ruby objects
134
173
  test_files:
135
- - test/helper.rb
174
+ - test/leap/test_report.rb
175
+ - test/leap/test_committee.rb
176
+ - test/leap/test_quorum.rb
136
177
  - test/test_leap.rb
178
+ - test/helper.rb