charisma 0.3.1 → 0.3.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/charisma.gemspec +1 -1
- data/lib/charisma/characteristic.rb +13 -0
- data/lib/charisma/curator/curation.rb +4 -15
- data/lib/charisma/version.rb +1 -1
- data/test/test_charisma.rb +4 -0
- metadata +19 -19
data/charisma.gemspec
CHANGED
@@ -5,7 +5,7 @@ Gem::Specification.new do |s|
|
|
5
5
|
s.name = 'charisma'
|
6
6
|
s.version = Charisma::VERSION
|
7
7
|
s.platform = Gem::Platform::RUBY
|
8
|
-
s.date = "2011-07-
|
8
|
+
s.date = "2011-07-06"
|
9
9
|
s.authors = ['Andy Rossmeissl', 'Seamus Abshere']
|
10
10
|
s.email = 'andy@rossmeissl.net'
|
11
11
|
s.homepage = 'http://github.com/brighterplanet/charisma'
|
@@ -34,5 +34,18 @@ module Charisma
|
|
34
34
|
@accessor = options[:display_with]
|
35
35
|
@measurement = options[:measures]
|
36
36
|
end
|
37
|
+
|
38
|
+
# The subclass of <tt>Charisma::Measurement</tt> with which this curation's characteristic is measured.
|
39
|
+
# @return [Class]
|
40
|
+
def measurement_class
|
41
|
+
case measurement
|
42
|
+
when ::Class
|
43
|
+
measurement
|
44
|
+
when ::Symbol
|
45
|
+
"::Charisma::Measurement::#{measurement.to_s.camelize}".constantize
|
46
|
+
else
|
47
|
+
raise InvalidMeasurementError
|
48
|
+
end
|
49
|
+
end
|
37
50
|
end
|
38
51
|
end
|
@@ -29,7 +29,9 @@ module Charisma
|
|
29
29
|
def_delegators :render, :to_s
|
30
30
|
|
31
31
|
def ==(other)
|
32
|
-
|
32
|
+
a = self.value
|
33
|
+
b = other.respond_to?(:value) ? other.value : other
|
34
|
+
a == b
|
33
35
|
end
|
34
36
|
|
35
37
|
# An inspection method for more readable IRB sessions and logs.
|
@@ -86,20 +88,7 @@ module Charisma
|
|
86
88
|
|
87
89
|
# Render the value using its specified measurement.
|
88
90
|
def defer_to_measurement
|
89
|
-
measurement_class.new(value)
|
90
|
-
end
|
91
|
-
|
92
|
-
# The subclass of <tt>Charisma::Measurement</tt> with which this curation's characteristic is measured.
|
93
|
-
# @return [Class]
|
94
|
-
def measurement_class
|
95
|
-
case characteristic.measurement
|
96
|
-
when ::Class
|
97
|
-
characteristic.measurement
|
98
|
-
when ::Symbol
|
99
|
-
"::Charisma::Measurement::#{characteristic.measurement.to_s.camelize}".constantize
|
100
|
-
else
|
101
|
-
raise InvalidMeasurementError
|
102
|
-
end
|
91
|
+
characteristic.measurement_class.new(value)
|
103
92
|
end
|
104
93
|
|
105
94
|
# Render the value using its <tt>#as_characteristic</tt> method.
|
data/lib/charisma/version.rb
CHANGED
data/test/test_charisma.rb
CHANGED
@@ -95,4 +95,8 @@ class TestCharisma < Test::Unit::TestCase
|
|
95
95
|
g.characteristics[:name] = g.characteristics[:make]
|
96
96
|
assert_equal 'Geo', g.characteristics[:name].to_s
|
97
97
|
end
|
98
|
+
def test_019_compare_fixnum
|
99
|
+
amaroq = Spaceship.new :window_count => 8
|
100
|
+
assert(amaroq.characteristics == { :window_count => 8 })
|
101
|
+
end
|
98
102
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: charisma
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,11 +10,11 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2011-07-
|
13
|
+
date: 2011-07-06 00:00:00.000000000Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: activesupport
|
17
|
-
requirement: &
|
17
|
+
requirement: &2154378400 !ruby/object:Gem::Requirement
|
18
18
|
none: false
|
19
19
|
requirements:
|
20
20
|
- - ! '>='
|
@@ -22,10 +22,10 @@ dependencies:
|
|
22
22
|
version: '0'
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
|
-
version_requirements: *
|
25
|
+
version_requirements: *2154378400
|
26
26
|
- !ruby/object:Gem::Dependency
|
27
27
|
name: blockenspiel
|
28
|
-
requirement: &
|
28
|
+
requirement: &2154377600 !ruby/object:Gem::Requirement
|
29
29
|
none: false
|
30
30
|
requirements:
|
31
31
|
- - ! '>='
|
@@ -33,10 +33,10 @@ dependencies:
|
|
33
33
|
version: '0'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
|
-
version_requirements: *
|
36
|
+
version_requirements: *2154377600
|
37
37
|
- !ruby/object:Gem::Dependency
|
38
38
|
name: conversions
|
39
|
-
requirement: &
|
39
|
+
requirement: &2154376900 !ruby/object:Gem::Requirement
|
40
40
|
none: false
|
41
41
|
requirements:
|
42
42
|
- - ! '>='
|
@@ -44,10 +44,10 @@ dependencies:
|
|
44
44
|
version: '0'
|
45
45
|
type: :runtime
|
46
46
|
prerelease: false
|
47
|
-
version_requirements: *
|
47
|
+
version_requirements: *2154376900
|
48
48
|
- !ruby/object:Gem::Dependency
|
49
49
|
name: bundler
|
50
|
-
requirement: &
|
50
|
+
requirement: &2154376460 !ruby/object:Gem::Requirement
|
51
51
|
none: false
|
52
52
|
requirements:
|
53
53
|
- - ! '>='
|
@@ -55,10 +55,10 @@ dependencies:
|
|
55
55
|
version: '0'
|
56
56
|
type: :development
|
57
57
|
prerelease: false
|
58
|
-
version_requirements: *
|
58
|
+
version_requirements: *2154376460
|
59
59
|
- !ruby/object:Gem::Dependency
|
60
60
|
name: bueller
|
61
|
-
requirement: &
|
61
|
+
requirement: &2154376040 !ruby/object:Gem::Requirement
|
62
62
|
none: false
|
63
63
|
requirements:
|
64
64
|
- - ! '>='
|
@@ -66,10 +66,10 @@ dependencies:
|
|
66
66
|
version: '0'
|
67
67
|
type: :development
|
68
68
|
prerelease: false
|
69
|
-
version_requirements: *
|
69
|
+
version_requirements: *2154376040
|
70
70
|
- !ruby/object:Gem::Dependency
|
71
71
|
name: rake
|
72
|
-
requirement: &
|
72
|
+
requirement: &2154375600 !ruby/object:Gem::Requirement
|
73
73
|
none: false
|
74
74
|
requirements:
|
75
75
|
- - ! '>='
|
@@ -77,10 +77,10 @@ dependencies:
|
|
77
77
|
version: '0'
|
78
78
|
type: :development
|
79
79
|
prerelease: false
|
80
|
-
version_requirements: *
|
80
|
+
version_requirements: *2154375600
|
81
81
|
- !ruby/object:Gem::Dependency
|
82
82
|
name: rcov
|
83
|
-
requirement: &
|
83
|
+
requirement: &2154375180 !ruby/object:Gem::Requirement
|
84
84
|
none: false
|
85
85
|
requirements:
|
86
86
|
- - ! '>='
|
@@ -88,10 +88,10 @@ dependencies:
|
|
88
88
|
version: '0'
|
89
89
|
type: :development
|
90
90
|
prerelease: false
|
91
|
-
version_requirements: *
|
91
|
+
version_requirements: *2154375180
|
92
92
|
- !ruby/object:Gem::Dependency
|
93
93
|
name: supermodel
|
94
|
-
requirement: &
|
94
|
+
requirement: &2154374740 !ruby/object:Gem::Requirement
|
95
95
|
none: false
|
96
96
|
requirements:
|
97
97
|
- - ! '>='
|
@@ -99,7 +99,7 @@ dependencies:
|
|
99
99
|
version: '0'
|
100
100
|
type: :development
|
101
101
|
prerelease: false
|
102
|
-
version_requirements: *
|
102
|
+
version_requirements: *2154374740
|
103
103
|
description: Define strategies for accessing and displaying a subset of your classes'
|
104
104
|
attributes
|
105
105
|
email: andy@rossmeissl.net
|
@@ -146,7 +146,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
146
146
|
version: '0'
|
147
147
|
segments:
|
148
148
|
- 0
|
149
|
-
hash:
|
149
|
+
hash: -2414637371029360902
|
150
150
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
151
151
|
none: false
|
152
152
|
requirements:
|