characterizable 0.0.7 → 0.0.8
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 +0 -1
- data/VERSION +1 -1
- data/lib/characterizable.rb +1 -1
- data/test/test_characterizable.rb +19 -0
- metadata +5 -19
data/Rakefile
CHANGED
|
@@ -12,7 +12,6 @@ begin
|
|
|
12
12
|
gem.authors = ["Andy Rossmeissl", "Seamus Abshere"]
|
|
13
13
|
gem.add_dependency 'blockenspiel', '>=0.3.2'
|
|
14
14
|
gem.add_dependency 'activesupport', '>=2.3.5'
|
|
15
|
-
gem.add_development_dependency 'activerecord', '>=2.3.5'
|
|
16
15
|
gem.add_development_dependency "shoulda", ">= 0"
|
|
17
16
|
# gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
|
|
18
17
|
end
|
data/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
0.0.
|
|
1
|
+
0.0.8
|
data/lib/characterizable.rb
CHANGED
|
@@ -113,7 +113,7 @@ module Characterizable
|
|
|
113
113
|
|
|
114
114
|
module ClassMethods
|
|
115
115
|
def characterize(&block)
|
|
116
|
-
self.characterizable_base
|
|
116
|
+
self.characterizable_base ||= Characterizable::Base.new self
|
|
117
117
|
Blockenspiel.invoke block, characterizable_base
|
|
118
118
|
end
|
|
119
119
|
delegate :characteristics, :to => :characterizable_base
|
|
@@ -105,6 +105,12 @@ class TestCharacterizable < Test::Unit::TestCase
|
|
|
105
105
|
assert_same_contents [], a.characteristics.potential.keys
|
|
106
106
|
end
|
|
107
107
|
|
|
108
|
+
should "know what's next" do
|
|
109
|
+
a = Automobile.new
|
|
110
|
+
a.make = 'Ford'
|
|
111
|
+
assert_equal true, a.characteristics.potential.keys.include?(:model_year)
|
|
112
|
+
end
|
|
113
|
+
|
|
108
114
|
should "know what characteristics are wasted and why" do
|
|
109
115
|
a = Automobile.new
|
|
110
116
|
a.hybridity = 'Electric'
|
|
@@ -298,4 +304,17 @@ class TestCharacterizable < Test::Unit::TestCase
|
|
|
298
304
|
a.make = nil
|
|
299
305
|
assert_same_contents [:size_class, :hybridity], a.characteristics.effective.keys
|
|
300
306
|
end
|
|
307
|
+
|
|
308
|
+
should "allow characterizations to be amended" do
|
|
309
|
+
class Fickle
|
|
310
|
+
include Characterizable
|
|
311
|
+
characterize do
|
|
312
|
+
has :foo
|
|
313
|
+
end
|
|
314
|
+
characterize do
|
|
315
|
+
has :bar
|
|
316
|
+
end
|
|
317
|
+
end
|
|
318
|
+
assert_equal [:bar, :foo], Fickle.characteristics.keys.sort { |a, b| a.to_s <=> b.to_s }
|
|
319
|
+
end
|
|
301
320
|
end
|
metadata
CHANGED
|
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
|
5
5
|
segments:
|
|
6
6
|
- 0
|
|
7
7
|
- 0
|
|
8
|
-
-
|
|
9
|
-
version: 0.0.
|
|
8
|
+
- 8
|
|
9
|
+
version: 0.0.8
|
|
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-
|
|
18
|
+
date: 2010-07-06 00:00:00 -04:00
|
|
19
19
|
default_executable:
|
|
20
20
|
dependencies:
|
|
21
21
|
- !ruby/object:Gem::Dependency
|
|
@@ -46,24 +46,10 @@ dependencies:
|
|
|
46
46
|
version: 2.3.5
|
|
47
47
|
type: :runtime
|
|
48
48
|
version_requirements: *id002
|
|
49
|
-
- !ruby/object:Gem::Dependency
|
|
50
|
-
name: activerecord
|
|
51
|
-
prerelease: false
|
|
52
|
-
requirement: &id003 !ruby/object:Gem::Requirement
|
|
53
|
-
requirements:
|
|
54
|
-
- - ">="
|
|
55
|
-
- !ruby/object:Gem::Version
|
|
56
|
-
segments:
|
|
57
|
-
- 2
|
|
58
|
-
- 3
|
|
59
|
-
- 5
|
|
60
|
-
version: 2.3.5
|
|
61
|
-
type: :development
|
|
62
|
-
version_requirements: *id003
|
|
63
49
|
- !ruby/object:Gem::Dependency
|
|
64
50
|
name: shoulda
|
|
65
51
|
prerelease: false
|
|
66
|
-
requirement: &
|
|
52
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
|
67
53
|
requirements:
|
|
68
54
|
- - ">="
|
|
69
55
|
- !ruby/object:Gem::Version
|
|
@@ -71,7 +57,7 @@ dependencies:
|
|
|
71
57
|
- 0
|
|
72
58
|
version: "0"
|
|
73
59
|
type: :development
|
|
74
|
-
version_requirements: *
|
|
60
|
+
version_requirements: *id003
|
|
75
61
|
description: Characterize the relationship between "attributes" (getters/setters) of instances of a class
|
|
76
62
|
email: seamus@abshere.net
|
|
77
63
|
executables: []
|