ar-enums 0.3.0 → 0.3.1
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/VERSION +1 -1
- data/ar-enums.gemspec +3 -3
- data/lib/enum_definition.rb +1 -1
- data/lib/metaprogramming_extensions.rb +0 -7
- data/spec/enum_definition_spec.rb +20 -8
- metadata +20 -9
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.3.
|
1
|
+
0.3.1
|
data/ar-enums.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{ar-enums}
|
8
|
-
s.version = "0.3.
|
8
|
+
s.version = "0.3.1"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Emmanuel Nicolau"]
|
12
|
-
s.date = %q{2010-
|
12
|
+
s.date = %q{2010-04-15}
|
13
13
|
s.description = %q{Provides a simple way for defining enumerations in ActiveRecord models}
|
14
14
|
s.email = %q{emmanicolau@gmail.com}
|
15
15
|
s.extra_rdoc_files = [
|
@@ -44,7 +44,7 @@ Gem::Specification.new do |s|
|
|
44
44
|
s.homepage = %q{http://github.com/eeng/ar-enums}
|
45
45
|
s.rdoc_options = ["--charset=UTF-8"]
|
46
46
|
s.require_paths = ["lib"]
|
47
|
-
s.rubygems_version = %q{1.3.
|
47
|
+
s.rubygems_version = %q{1.3.6}
|
48
48
|
s.summary = %q{Enumerations for ActiveRecord models}
|
49
49
|
s.test_files = [
|
50
50
|
"spec/enum_definition_spec.rb",
|
data/lib/enum_definition.rb
CHANGED
@@ -83,7 +83,18 @@ end
|
|
83
83
|
|
84
84
|
describe "External enumerations" do
|
85
85
|
before do
|
86
|
-
define_model_class '
|
86
|
+
define_model_class 'CountryState', 'ActiveRecord::Enum' do
|
87
|
+
enumeration do
|
88
|
+
ca
|
89
|
+
tx
|
90
|
+
end
|
91
|
+
end
|
92
|
+
|
93
|
+
define_model_class 'Country' do
|
94
|
+
enum :state, :class_name => 'CountryState'
|
95
|
+
end
|
96
|
+
|
97
|
+
define_model_class 'TrafficLightState', 'ActiveRecord::Enum' do
|
87
98
|
enumeration do
|
88
99
|
green :rgb => 0x0F0
|
89
100
|
red :rgb => 0xF00
|
@@ -91,7 +102,7 @@ describe "External enumerations" do
|
|
91
102
|
end
|
92
103
|
|
93
104
|
define_model_class 'TrafficLight' do
|
94
|
-
enum :state
|
105
|
+
enum :state, :class_name => 'TrafficLightState'
|
95
106
|
end
|
96
107
|
end
|
97
108
|
|
@@ -101,20 +112,21 @@ describe "External enumerations" do
|
|
101
112
|
end
|
102
113
|
|
103
114
|
it "should be posible to access all enums from withing the owner" do
|
104
|
-
TrafficLight.states.should equal(
|
115
|
+
TrafficLight.states.should equal(TrafficLightState.all)
|
116
|
+
Country.states.should equal(CountryState.all)
|
105
117
|
end
|
106
118
|
|
107
119
|
it "should accept :class_name options to override de class of the external enum" do
|
108
120
|
define_model_class 'TrafficLight' do
|
109
|
-
enum :state_on_weekdays, :class_name => '
|
110
|
-
enum :state_on_weekends, :class_name => '
|
121
|
+
enum :state_on_weekdays, :class_name => 'TrafficLightState'
|
122
|
+
enum :state_on_weekends, :class_name => 'TrafficLightState'
|
111
123
|
end
|
112
|
-
TrafficLight.state_on_weekdays.should equal(
|
113
|
-
TrafficLight.state_on_weekends.should equal(
|
124
|
+
TrafficLight.state_on_weekdays.should equal(TrafficLightState.all)
|
125
|
+
TrafficLight.state_on_weekends.should equal(TrafficLightState.all)
|
114
126
|
end
|
115
127
|
|
116
128
|
it "external enums should be instances of the subclass of Enum" do
|
117
|
-
|
129
|
+
TrafficLightState.all.each { |s| s.should be_a(TrafficLightState) }
|
118
130
|
end
|
119
131
|
|
120
132
|
it "should be posible to define new methods in Enum subclass" do
|
metadata
CHANGED
@@ -1,7 +1,12 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ar-enums
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
4
|
+
prerelease: false
|
5
|
+
segments:
|
6
|
+
- 0
|
7
|
+
- 3
|
8
|
+
- 1
|
9
|
+
version: 0.3.1
|
5
10
|
platform: ruby
|
6
11
|
authors:
|
7
12
|
- Emmanuel Nicolau
|
@@ -9,19 +14,23 @@ autorequire:
|
|
9
14
|
bindir: bin
|
10
15
|
cert_chain: []
|
11
16
|
|
12
|
-
date: 2010-
|
17
|
+
date: 2010-04-15 00:00:00 -03:00
|
13
18
|
default_executable:
|
14
19
|
dependencies:
|
15
20
|
- !ruby/object:Gem::Dependency
|
16
21
|
name: rspec
|
17
|
-
|
18
|
-
|
19
|
-
version_requirements: !ruby/object:Gem::Requirement
|
22
|
+
prerelease: false
|
23
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
20
24
|
requirements:
|
21
25
|
- - ">="
|
22
26
|
- !ruby/object:Gem::Version
|
27
|
+
segments:
|
28
|
+
- 1
|
29
|
+
- 2
|
30
|
+
- 9
|
23
31
|
version: 1.2.9
|
24
|
-
|
32
|
+
type: :development
|
33
|
+
version_requirements: *id001
|
25
34
|
description: Provides a simple way for defining enumerations in ActiveRecord models
|
26
35
|
email: emmanicolau@gmail.com
|
27
36
|
executables: []
|
@@ -68,18 +77,20 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
68
77
|
requirements:
|
69
78
|
- - ">="
|
70
79
|
- !ruby/object:Gem::Version
|
80
|
+
segments:
|
81
|
+
- 0
|
71
82
|
version: "0"
|
72
|
-
version:
|
73
83
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
74
84
|
requirements:
|
75
85
|
- - ">="
|
76
86
|
- !ruby/object:Gem::Version
|
87
|
+
segments:
|
88
|
+
- 0
|
77
89
|
version: "0"
|
78
|
-
version:
|
79
90
|
requirements: []
|
80
91
|
|
81
92
|
rubyforge_project:
|
82
|
-
rubygems_version: 1.3.
|
93
|
+
rubygems_version: 1.3.6
|
83
94
|
signing_key:
|
84
95
|
specification_version: 3
|
85
96
|
summary: Enumerations for ActiveRecord models
|