enumerate_it 0.7.3 → 0.7.4
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/.gitignore +23 -0
- data/Gemfile +4 -0
- data/Gemfile.lock +39 -0
- data/README.rdoc +63 -35
- data/Rakefile +6 -41
- data/enumerate_it.gemspec +11 -34
- data/lib/enumerate_it.rb +15 -2
- data/lib/version.rb +4 -0
- data/spec/enumerate_it_spec.rb +5 -1
- data/spec/spec_helper.rb +5 -4
- metadata +32 -23
- data/VERSION +0 -1
data/.gitignore
ADDED
@@ -0,0 +1,23 @@
|
|
1
|
+
## MAC OS
|
2
|
+
.DS_Store
|
3
|
+
|
4
|
+
## TEXTMATE
|
5
|
+
*.tmproj
|
6
|
+
tmtags
|
7
|
+
|
8
|
+
## EMACS
|
9
|
+
*~
|
10
|
+
\#*
|
11
|
+
.\#*
|
12
|
+
|
13
|
+
## VIM
|
14
|
+
*.swp
|
15
|
+
|
16
|
+
## PROJECT::GENERAL
|
17
|
+
coverage
|
18
|
+
rdoc
|
19
|
+
pkg
|
20
|
+
|
21
|
+
## PROJECT::SPECIFIC
|
22
|
+
enumerate_it-*.gem
|
23
|
+
enumerate_it.gemspec
|
data/Gemfile
ADDED
data/Gemfile.lock
ADDED
@@ -0,0 +1,39 @@
|
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
enumerate_it (0.7.4)
|
5
|
+
|
6
|
+
GEM
|
7
|
+
remote: http://rubygems.org/
|
8
|
+
specs:
|
9
|
+
activemodel (3.0.5)
|
10
|
+
activesupport (= 3.0.5)
|
11
|
+
builder (~> 2.1.2)
|
12
|
+
i18n (~> 0.4)
|
13
|
+
activerecord (3.0.5)
|
14
|
+
activemodel (= 3.0.5)
|
15
|
+
activesupport (= 3.0.5)
|
16
|
+
arel (~> 2.0.2)
|
17
|
+
tzinfo (~> 0.3.23)
|
18
|
+
activesupport (3.0.5)
|
19
|
+
arel (2.0.9)
|
20
|
+
builder (2.1.2)
|
21
|
+
diff-lcs (1.1.2)
|
22
|
+
i18n (0.5.0)
|
23
|
+
rspec (2.5.0)
|
24
|
+
rspec-core (~> 2.5.0)
|
25
|
+
rspec-expectations (~> 2.5.0)
|
26
|
+
rspec-mocks (~> 2.5.0)
|
27
|
+
rspec-core (2.5.1)
|
28
|
+
rspec-expectations (2.5.0)
|
29
|
+
diff-lcs (~> 1.1.2)
|
30
|
+
rspec-mocks (2.5.0)
|
31
|
+
tzinfo (0.3.24)
|
32
|
+
|
33
|
+
PLATFORMS
|
34
|
+
ruby
|
35
|
+
|
36
|
+
DEPENDENCIES
|
37
|
+
activerecord (= 3.0.5)
|
38
|
+
enumerate_it!
|
39
|
+
rspec (= 2.5.0)
|
data/README.rdoc
CHANGED
@@ -6,41 +6,41 @@ Author: Cássio Marques - cassiommc at gmail
|
|
6
6
|
|
7
7
|
Ok, I know there are a lot of different solutions to this problem. But none of them solved my problem,
|
8
8
|
so here's EnumerateIt. I needed to build a Rails application around a legacy database and this database was
|
9
|
-
filled with those small, unchangeable tables used to create foreign key constraints everywhere.
|
9
|
+
filled with those small, unchangeable tables used to create foreign key constraints everywhere.
|
10
10
|
|
11
11
|
=== For example:
|
12
12
|
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
13
|
+
Table "public.relationshipstatus"
|
14
|
+
Column | Type | Modifiers
|
15
|
+
-------------+---------------+-----------
|
16
|
+
code | character(1) | not null
|
17
|
+
description | character(11) |
|
18
|
+
Indexes:
|
19
|
+
"relationshipstatus_pkey" PRIMARY KEY, btree (code)
|
20
20
|
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
21
|
+
select * from relationshipstatus;
|
22
|
+
code | description
|
23
|
+
-------+--------------
|
24
|
+
1 | Single
|
25
|
+
2 | Married
|
26
|
+
3 | Widow
|
27
|
+
4 | Divorced
|
28
28
|
|
29
29
|
|
30
|
-
And then I had things like a people table with a 'relationship_status' column with a foreign key
|
30
|
+
And then I had things like a people table with a 'relationship_status' column with a foreign key
|
31
31
|
pointing to the relationshipstatus table.
|
32
32
|
|
33
33
|
While this is a good thing from the database normalization perspective, managing this values in
|
34
|
-
my tests was very hard. Doing database joins just to get the description of some value was absurd.
|
35
|
-
And, more than this, referencing them in my code using magic numbers was terrible and meaningless:
|
34
|
+
my tests was very hard. Doing database joins just to get the description of some value was absurd.
|
35
|
+
And, more than this, referencing them in my code using magic numbers was terrible and meaningless:
|
36
36
|
What does it mean when we say that someone or something is '2'?
|
37
37
|
|
38
38
|
Enter EnumerateIt.
|
39
39
|
|
40
40
|
== Creating enumerations
|
41
41
|
|
42
|
-
Enumerations are created as models, but you can put then anywhere in your application. In Rails
|
43
|
-
applications, you can put them inside models/.
|
42
|
+
Enumerations are created as models, but you can put then anywhere in your application. In Rails
|
43
|
+
applications, you can put them inside models/.
|
44
44
|
|
45
45
|
class RelationshipStatus < EnumerateIt::Base
|
46
46
|
associate_values(
|
@@ -66,7 +66,7 @@ This will create some nice stuff:
|
|
66
66
|
|
67
67
|
RelationshipStatus.to_a # [["Divorced", 4],["Married", 2],["Single", 1],["Widow", 3]]
|
68
68
|
|
69
|
-
* You can retrieve a list with values for a group of enumeration constants.
|
69
|
+
* You can retrieve a list with values for a group of enumeration constants.
|
70
70
|
|
71
71
|
RelationshipStatus.values_for %w(MARRIED SINGLE) # [2, 1]
|
72
72
|
|
@@ -86,9 +86,9 @@ or not.
|
|
86
86
|
has_enumeration_for :relationship_status, :with => RelationshipStatus
|
87
87
|
end
|
88
88
|
|
89
|
-
The :with option is not required. If you ommit it, EnumerateIt will try to load an enumeration class based on the camelized attribute name.
|
89
|
+
The :with option is not required. If you ommit it, EnumerateIt will try to load an enumeration class based on the camelized attribute name.
|
90
90
|
|
91
|
-
This will create:
|
91
|
+
This will create:
|
92
92
|
|
93
93
|
* A humanized description for the values of the enumerated attribute:
|
94
94
|
|
@@ -102,13 +102,17 @@ This will create:
|
|
102
102
|
associate_values(
|
103
103
|
:married => 1,
|
104
104
|
:single => 2
|
105
|
-
)
|
105
|
+
)
|
106
106
|
end
|
107
107
|
|
108
108
|
p = Person.new
|
109
109
|
p.relationship_status = RelationshipStatus::MARRIED
|
110
110
|
p.relationship_status_humanize # => 'Married'
|
111
111
|
|
112
|
+
* The associated enumerations can be retrieved with the 'enumerations' class method.
|
113
|
+
|
114
|
+
Person.enumerations[:relationship_status] # => RelationshipStatus
|
115
|
+
|
112
116
|
* If you pass the :create_helpers option as 'true', it will create a helper method for each enumeration option (this option defaults to false):
|
113
117
|
|
114
118
|
class Person < ActiveRecord::Base
|
@@ -120,6 +124,17 @@ This will create:
|
|
120
124
|
p.married? #=> true
|
121
125
|
p.divorced? #=> false
|
122
126
|
|
127
|
+
* The :create_helpers also creates some mutator helper methods, that can be used to change the attribute's value.
|
128
|
+
|
129
|
+
class Person < ActiveRecord::Base
|
130
|
+
has_enumeration_for :relationship_status, :with => RelationshipStatus, :create_helpers => true
|
131
|
+
end
|
132
|
+
|
133
|
+
p = Person.new
|
134
|
+
p.married!
|
135
|
+
p.married? #=> true
|
136
|
+
p.divorced? #=> false
|
137
|
+
|
123
138
|
* If your class can manage validations and responds to :validates_inclusion_of, it will create this validation:
|
124
139
|
|
125
140
|
class Person < ActiveRecord::Base
|
@@ -141,7 +156,7 @@ This will create:
|
|
141
156
|
p.errors[:relationship_status] # => "can't be blank"
|
142
157
|
|
143
158
|
|
144
|
-
Remember that in Rails 3 you can add validations to any kind of class and not only to those derived from
|
159
|
+
Remember that in Rails 3 you can add validations to any kind of class and not only to those derived from
|
145
160
|
ActiveRecord::Base.
|
146
161
|
|
147
162
|
== I18n
|
@@ -162,16 +177,16 @@ located on enumerations.'enumeration_name'.'key' :
|
|
162
177
|
enumerations:
|
163
178
|
relationship_status:
|
164
179
|
married: Casado
|
165
|
-
|
180
|
+
|
166
181
|
p = Person.new
|
167
182
|
p.relationship_status = RelationshipStatus::MARRIED
|
168
|
-
p.relationship_status_humanize # => 'Casado'
|
169
|
-
|
183
|
+
p.relationship_status_humanize # => 'Casado'
|
184
|
+
|
170
185
|
p.relationship_status = RelationshipStatus::SINGLE
|
171
|
-
p.relationship_status_humanize # => 'Single' => nonexistent key
|
172
|
-
|
186
|
+
p.relationship_status_humanize # => 'Single' => nonexistent key
|
187
|
+
|
173
188
|
p.relationship_status = RelationshipStatus::DIVORCED
|
174
|
-
p.relationship_status_humanize # => 'He's divorced' => uses the provided string
|
189
|
+
p.relationship_status_humanize # => 'He's divorced' => uses the provided string
|
175
190
|
|
176
191
|
You can also translate specific values:
|
177
192
|
|
@@ -185,7 +200,7 @@ You can also translate specific values:
|
|
185
200
|
|
186
201
|
* Create an initializer with the following code:
|
187
202
|
|
188
|
-
ActiveRecord::Base.send :include, EnumerateIt
|
203
|
+
ActiveRecord::Base.send :include, EnumerateIt
|
189
204
|
|
190
205
|
* Add the 'enumerate_it' gem as a dependency in your environment.rb (Rails 2.3.x) or Gemfile (if you're using Bundler)
|
191
206
|
|
@@ -201,11 +216,24 @@ An interesting approach to use it in Rails apps is to create an app/models/enume
|
|
201
216
|
|
202
217
|
EnumerateIt is fully compatible with Ruby 1.9.1 and 1.9.2 (all tests pass)
|
203
218
|
|
219
|
+
* Note: on ruby 1.9.2, if you are using the enumerations in a separate folder like app/models/enumerations, and have to use the :with parameter, you have to clear the enum class namespace to a global scope by using ::EnumClass instead of EnumClass:
|
220
|
+
|
221
|
+
# 1.8.7
|
222
|
+
class Person < ActiveRecord::Base
|
223
|
+
has_enumeration_for :relationship_status, :with => EnumClass
|
224
|
+
end
|
225
|
+
|
226
|
+
# 1.9.2
|
227
|
+
class Person < ActiveRecord::Base
|
228
|
+
has_enumeration_for :relationship_status, :with => ::EnumClass
|
229
|
+
end
|
230
|
+
|
231
|
+
|
204
232
|
== Why did you reinvent the wheel?
|
205
233
|
|
206
234
|
There are other similar solutions to the problem out there, but I could not find one that
|
207
|
-
worked both with strings and integers as the enumerations' codes. I had both situations in
|
208
|
-
my legacy database.
|
235
|
+
worked both with strings and integers as the enumerations' codes. I had both situations in
|
236
|
+
my legacy database.
|
209
237
|
|
210
238
|
== Why defining enumerations outside the class that use it?
|
211
239
|
|
@@ -214,7 +242,7 @@ my legacy database.
|
|
214
242
|
* You can reuse the enumeration inside other classes.
|
215
243
|
|
216
244
|
== Note on Patches/Pull Requests
|
217
|
-
|
245
|
+
|
218
246
|
* Fork the project.
|
219
247
|
* Make your feature addition or bug fix.
|
220
248
|
* Add tests for it. This is important so I don't break it in a
|
data/Rakefile
CHANGED
@@ -1,47 +1,12 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
|
3
|
-
require '
|
4
|
-
|
3
|
+
require 'bundler'
|
4
|
+
Bundler::GemHelper.install_tasks
|
5
5
|
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
gem.summary = %Q{Ruby Enumerations}
|
11
|
-
gem.description = %Q{Have a legacy database and need some enumerations in your models to match those stupid '4 rows/2 columns' tables with foreign keys and stop doing joins just to fetch a simple description? Or maybe use some integers instead of strings as the code for each value of your enumerations? Here's EnumerateIt.}
|
12
|
-
gem.email = "cassiommc@gmail.com"
|
13
|
-
gem.homepage = "http://github.com/cassiomarques/enumerate_it"
|
14
|
-
gem.authors = ["Cássio Marques"]
|
15
|
-
gem.add_development_dependency "rspec", ">= 1.2.9"
|
16
|
-
# gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
|
17
|
-
end
|
18
|
-
Jeweler::GemcutterTasks.new
|
19
|
-
rescue LoadError
|
20
|
-
puts "Jeweler (or a dependency) not available. Install it with: gem install jeweler"
|
6
|
+
require 'rspec/core'
|
7
|
+
require 'rspec/core/rake_task'
|
8
|
+
RSpec::Core::RakeTask.new(:spec) do |spec|
|
9
|
+
spec.pattern = FileList['spec/**/*_spec.rb']
|
21
10
|
end
|
22
11
|
|
23
|
-
require 'spec/rake/spectask'
|
24
|
-
Spec::Rake::SpecTask.new(:spec) do |spec|
|
25
|
-
spec.libs << 'lib' << 'spec'
|
26
|
-
spec.spec_files = FileList['spec/**/*_spec.rb']
|
27
|
-
end
|
28
|
-
|
29
|
-
Spec::Rake::SpecTask.new(:rcov) do |spec|
|
30
|
-
spec.libs << 'lib' << 'spec'
|
31
|
-
spec.pattern = 'spec/**/*_spec.rb'
|
32
|
-
spec.rcov = true
|
33
|
-
end
|
34
|
-
|
35
|
-
task :spec => :check_dependencies
|
36
|
-
|
37
12
|
task :default => :spec
|
38
|
-
|
39
|
-
require 'rake/rdoctask'
|
40
|
-
Rake::RDocTask.new do |rdoc|
|
41
|
-
version = File.exist?('VERSION') ? File.read('VERSION') : ""
|
42
|
-
|
43
|
-
rdoc.rdoc_dir = 'rdoc'
|
44
|
-
rdoc.title = "enumerate_it #{version}"
|
45
|
-
rdoc.rdoc_files.include('README*')
|
46
|
-
rdoc.rdoc_files.include('lib/**/*.rb')
|
47
|
-
end
|
data/enumerate_it.gemspec
CHANGED
@@ -1,36 +1,22 @@
|
|
1
|
-
# Generated by jeweler
|
2
|
-
# DO NOT EDIT THIS FILE DIRECTLY
|
3
|
-
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
4
1
|
# -*- encoding: utf-8 -*-
|
2
|
+
$:.push File.expand_path("../lib", __FILE__)
|
3
|
+
require "version"
|
5
4
|
|
6
5
|
Gem::Specification.new do |s|
|
7
6
|
s.name = %q{enumerate_it}
|
8
|
-
s.version
|
9
|
-
|
10
|
-
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
7
|
+
s.version = EnumerateIt::VERSION
|
8
|
+
s.platform = Gem::Platform::RUBY
|
11
9
|
s.authors = ["C\303\241ssio Marques"]
|
12
|
-
s.date = %q{2011-02-03}
|
13
10
|
s.description = %q{Have a legacy database and need some enumerations in your models to match those stupid '4 rows/2 columns' tables with foreign keys and stop doing joins just to fetch a simple description? Or maybe use some integers instead of strings as the code for each value of your enumerations? Here's EnumerateIt.}
|
14
11
|
s.email = %q{cassiommc@gmail.com}
|
12
|
+
s.homepage = %q{http://github.com/cassiomarques/enumerate_it}
|
15
13
|
s.extra_rdoc_files = [
|
16
14
|
"LICENSE",
|
17
15
|
"README.rdoc"
|
18
16
|
]
|
19
|
-
s.files
|
20
|
-
"
|
21
|
-
|
22
|
-
"README.rdoc",
|
23
|
-
"Rakefile",
|
24
|
-
"VERSION",
|
25
|
-
"enumerate_it.gemspec",
|
26
|
-
"lib/enumerate_it.rb",
|
27
|
-
"spec/enumerate_it_spec.rb",
|
28
|
-
"spec/i18n/en.yml",
|
29
|
-
"spec/i18n/pt.yml",
|
30
|
-
"spec/spec.opts",
|
31
|
-
"spec/spec_helper.rb"
|
32
|
-
]
|
33
|
-
s.homepage = %q{http://github.com/cassiomarques/enumerate_it}
|
17
|
+
s.files = `git ls-files`.split("\n")
|
18
|
+
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
19
|
+
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
34
20
|
s.require_paths = ["lib"]
|
35
21
|
s.rubygems_version = %q{1.3.7}
|
36
22
|
s.summary = %q{Ruby Enumerations}
|
@@ -39,17 +25,8 @@ Gem::Specification.new do |s|
|
|
39
25
|
"spec/spec_helper.rb"
|
40
26
|
]
|
41
27
|
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
47
|
-
s.add_development_dependency(%q<rspec>, [">= 1.2.9"])
|
48
|
-
else
|
49
|
-
s.add_dependency(%q<rspec>, [">= 1.2.9"])
|
50
|
-
end
|
51
|
-
else
|
52
|
-
s.add_dependency(%q<rspec>, [">= 1.2.9"])
|
53
|
-
end
|
28
|
+
s.add_development_dependency "rspec", "=2.5.0"
|
29
|
+
s.add_development_dependency "activerecord", "=3.0.5"
|
30
|
+
s.add_development_dependency "activerecord", "=3.0.5"
|
54
31
|
end
|
55
32
|
|
data/lib/enumerate_it.rb
CHANGED
@@ -111,6 +111,9 @@
|
|
111
111
|
# p.relationship_status = RelationshipStatus::MARRIED
|
112
112
|
# p.relationship_status_humanize # => 'Married'
|
113
113
|
#
|
114
|
+
# - The associated enumerations can be retrieved with the 'enumerations' class method.
|
115
|
+
# Person.enumerations[:relationship_status] # => RelationshipStatus
|
116
|
+
#
|
114
117
|
# - If you pass the :create_helpers option as 'true', it will create a helper method for each enumeration
|
115
118
|
# option (this option defaults to false):
|
116
119
|
#
|
@@ -229,13 +232,23 @@ module EnumerateIt
|
|
229
232
|
define_enumeration_class attribute, options
|
230
233
|
set_validations attribute, options
|
231
234
|
create_enumeration_humanize_method options[:with], attribute
|
235
|
+
store_enumeration options[:with], attribute
|
232
236
|
if options[:create_helpers]
|
233
|
-
create_helper_methods(options[:with], attribute)
|
237
|
+
create_helper_methods(options[:with], attribute)
|
234
238
|
create_mutator_methods(options[:with], attribute)
|
235
239
|
end
|
236
240
|
end
|
237
241
|
|
242
|
+
def enumerations
|
243
|
+
@@_enumerations ||= {}
|
244
|
+
end
|
245
|
+
|
238
246
|
private
|
247
|
+
|
248
|
+
def store_enumeration(klass, attribute)
|
249
|
+
enumerations[attribute] = klass
|
250
|
+
end
|
251
|
+
|
239
252
|
def create_enumeration_humanize_method(klass, attribute_name)
|
240
253
|
class_eval do
|
241
254
|
define_method "#{attribute_name}_humanize" do
|
@@ -267,7 +280,7 @@ module EnumerateIt
|
|
267
280
|
end
|
268
281
|
|
269
282
|
def define_enumeration_class(attribute, options)
|
270
|
-
if options[:with].
|
283
|
+
if options[:with].nil?
|
271
284
|
options[:with] = attribute.to_s.camelize.constantize
|
272
285
|
end
|
273
286
|
end
|
data/lib/version.rb
ADDED
data/spec/enumerate_it_spec.rb
CHANGED
@@ -54,6 +54,10 @@ describe EnumerateIt do
|
|
54
54
|
@target.should_not respond_to(:value_1?)
|
55
55
|
end
|
56
56
|
|
57
|
+
it "stores the enumeration class in a class-level hash" do
|
58
|
+
TestClass.enumerations[:foobar].should == TestEnumeration
|
59
|
+
end
|
60
|
+
|
57
61
|
context "passing the value of each option without the human string (just the value, without an array)" do
|
58
62
|
before :each do
|
59
63
|
class TestClassForEnumerationWithoutArray
|
@@ -116,7 +120,7 @@ describe EnumerateIt do
|
|
116
120
|
it "creates a mutator method for each enumeration value" do
|
117
121
|
[:value_1, :value_2, :value_3].each do |value|
|
118
122
|
TestClass.new(TestEnumeration::VALUE_1).should respond_to(:"#{value}!")
|
119
|
-
end
|
123
|
+
end
|
120
124
|
end
|
121
125
|
|
122
126
|
it "changes the attribute's value through mutator methods" do
|
data/spec/spec_helper.rb
CHANGED
@@ -1,10 +1,11 @@
|
|
1
1
|
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
2
2
|
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
3
3
|
require 'enumerate_it'
|
4
|
-
require '
|
5
|
-
require '
|
4
|
+
require 'rspec'
|
5
|
+
require 'rspec/autorun'
|
6
6
|
|
7
7
|
require 'rubygems'
|
8
|
-
require
|
8
|
+
require "active_support"
|
9
|
+
require "active_support/core_ext/string/inflections"
|
9
10
|
|
10
|
-
I18n.load_path = Dir['spec/i18n/*.yml']
|
11
|
+
I18n.load_path = Dir['spec/i18n/*.yml']
|
metadata
CHANGED
@@ -1,13 +1,8 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: enumerate_it
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
|
6
|
-
segments:
|
7
|
-
- 0
|
8
|
-
- 7
|
9
|
-
- 3
|
10
|
-
version: 0.7.3
|
4
|
+
prerelease:
|
5
|
+
version: 0.7.4
|
11
6
|
platform: ruby
|
12
7
|
authors:
|
13
8
|
- "C\xC3\xA1ssio Marques"
|
@@ -15,7 +10,7 @@ autorequire:
|
|
15
10
|
bindir: bin
|
16
11
|
cert_chain: []
|
17
12
|
|
18
|
-
date: 2011-
|
13
|
+
date: 2011-03-11 00:00:00 -03:00
|
19
14
|
default_executable:
|
20
15
|
dependencies:
|
21
16
|
- !ruby/object:Gem::Dependency
|
@@ -24,16 +19,33 @@ dependencies:
|
|
24
19
|
requirement: &id001 !ruby/object:Gem::Requirement
|
25
20
|
none: false
|
26
21
|
requirements:
|
27
|
-
- - "
|
22
|
+
- - "="
|
28
23
|
- !ruby/object:Gem::Version
|
29
|
-
|
30
|
-
segments:
|
31
|
-
- 1
|
32
|
-
- 2
|
33
|
-
- 9
|
34
|
-
version: 1.2.9
|
24
|
+
version: 2.5.0
|
35
25
|
type: :development
|
36
26
|
version_requirements: *id001
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: activerecord
|
29
|
+
prerelease: false
|
30
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
31
|
+
none: false
|
32
|
+
requirements:
|
33
|
+
- - "="
|
34
|
+
- !ruby/object:Gem::Version
|
35
|
+
version: 3.0.5
|
36
|
+
type: :development
|
37
|
+
version_requirements: *id002
|
38
|
+
- !ruby/object:Gem::Dependency
|
39
|
+
name: activerecord
|
40
|
+
prerelease: false
|
41
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
42
|
+
none: false
|
43
|
+
requirements:
|
44
|
+
- - "="
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: 3.0.5
|
47
|
+
type: :development
|
48
|
+
version_requirements: *id003
|
37
49
|
description: Have a legacy database and need some enumerations in your models to match those stupid '4 rows/2 columns' tables with foreign keys and stop doing joins just to fetch a simple description? Or maybe use some integers instead of strings as the code for each value of your enumerations? Here's EnumerateIt.
|
38
50
|
email: cassiommc@gmail.com
|
39
51
|
executables: []
|
@@ -45,12 +57,15 @@ extra_rdoc_files:
|
|
45
57
|
- README.rdoc
|
46
58
|
files:
|
47
59
|
- .document
|
60
|
+
- .gitignore
|
61
|
+
- Gemfile
|
62
|
+
- Gemfile.lock
|
48
63
|
- LICENSE
|
49
64
|
- README.rdoc
|
50
65
|
- Rakefile
|
51
|
-
- VERSION
|
52
66
|
- enumerate_it.gemspec
|
53
67
|
- lib/enumerate_it.rb
|
68
|
+
- lib/version.rb
|
54
69
|
- spec/enumerate_it_spec.rb
|
55
70
|
- spec/i18n/en.yml
|
56
71
|
- spec/i18n/pt.yml
|
@@ -70,23 +85,17 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
70
85
|
requirements:
|
71
86
|
- - ">="
|
72
87
|
- !ruby/object:Gem::Version
|
73
|
-
hash: 3
|
74
|
-
segments:
|
75
|
-
- 0
|
76
88
|
version: "0"
|
77
89
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
78
90
|
none: false
|
79
91
|
requirements:
|
80
92
|
- - ">="
|
81
93
|
- !ruby/object:Gem::Version
|
82
|
-
hash: 3
|
83
|
-
segments:
|
84
|
-
- 0
|
85
94
|
version: "0"
|
86
95
|
requirements: []
|
87
96
|
|
88
97
|
rubyforge_project:
|
89
|
-
rubygems_version: 1.
|
98
|
+
rubygems_version: 1.5.2
|
90
99
|
signing_key:
|
91
100
|
specification_version: 3
|
92
101
|
summary: Ruby Enumerations
|
data/VERSION
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
0.7.3
|