acts_as_enumeration 0.1.10 → 0.1.11
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/acts_as_enumeration.gemspec +8 -2
- data/lib/active_record/acts/enumeration.rb +5 -5
- metadata +35 -3
data/acts_as_enumeration.gemspec
CHANGED
@@ -22,8 +22,14 @@ Gem::Specification.new do |spec|
|
|
22
22
|
spec.add_development_dependency 'bundler', '~> 1.3'
|
23
23
|
spec.add_development_dependency 'rake'
|
24
24
|
spec.add_development_dependency 'sqlite3'
|
25
|
-
if RUBY_VERSION
|
25
|
+
if RUBY_VERSION >= '2.2.2'
|
26
26
|
spec.add_development_dependency 'minitest'
|
27
|
+
spec.add_development_dependency 'activerecord'
|
28
|
+
elsif RUBY_VERSION >= '1.9'
|
29
|
+
spec.add_development_dependency 'minitest'
|
30
|
+
spec.add_development_dependency 'activerecord', '~> 3.0'
|
31
|
+
else
|
32
|
+
spec.add_development_dependency 'test-unit'
|
33
|
+
spec.add_development_dependency 'activerecord', '~> 2.3'
|
27
34
|
end
|
28
|
-
|
29
35
|
end
|
@@ -2,7 +2,7 @@ module ActiveRecord
|
|
2
2
|
module Acts
|
3
3
|
module Enumeration
|
4
4
|
|
5
|
-
VERSION="0.1.
|
5
|
+
VERSION="0.1.11"
|
6
6
|
class << self
|
7
7
|
|
8
8
|
def included(base)
|
@@ -42,10 +42,10 @@ module ActiveRecord
|
|
42
42
|
class << self;
|
43
43
|
self;
|
44
44
|
end).class_eval do
|
45
|
-
define_method(:enumerations) { |name| self.enumeration[name] }
|
45
|
+
define_method(:enumerations) { |name| self.enumeration[name.intern] }
|
46
46
|
define_method("#{field}_valid?") { |value| !!send("id_for_#{field}", value) }
|
47
47
|
alias_method "valid_#{field}?", "#{field}_valid?"
|
48
|
-
define_method("id_for_#{field}") { |value| enumerations(field)[value] }
|
48
|
+
define_method("id_for_#{field}") { |value| enumerations(field)[value.intern] }
|
49
49
|
define_method("for_#{field}") { |value| find(send("id_for_#{field}", value)) }
|
50
50
|
define_method("enum_#{field}") { enumerations(field) }
|
51
51
|
define_method("as_key") { |value| find(value).as_key rescue nil }
|
@@ -65,7 +65,7 @@ module ActiveRecord
|
|
65
65
|
end
|
66
66
|
|
67
67
|
portable_select(field).map { |x| normalize_intern(x.send(field)) }.each do |y|
|
68
|
-
key = y.to_s=~/^[a-z_]/ ? y.to_s : "_#{y.to_s}"
|
68
|
+
key = ((y.to_s=~/^[a-z_]/) && !respond_to?(y)) ? y.to_s : "_#{y.to_s}"
|
69
69
|
define_method(:as_key) { self.class.normalize_intern(send(field)) }
|
70
70
|
define_method("is_#{y}?") { is?(y) }
|
71
71
|
alias_method "#{key}?", "is_#{y}?"
|
@@ -74,7 +74,7 @@ module ActiveRecord
|
|
74
74
|
end.instance_eval do
|
75
75
|
define_method(key) { self.send("for_#{field}", y) }
|
76
76
|
define_method(key.camelize) { self.send("id_for_#{field}", y)}
|
77
|
-
define_method(key.camelize.upcase) { self.send(
|
77
|
+
define_method(key.camelize.upcase) { self.send("id_for_#{field}", y)}
|
78
78
|
end
|
79
79
|
begin
|
80
80
|
self.const_set(key.camelize,self.send("id_for_#{field}",y)) unless self.const_defined?(key.camelize)
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: acts_as_enumeration
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.11
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2016-
|
12
|
+
date: 2016-10-18 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|
@@ -59,6 +59,38 @@ dependencies:
|
|
59
59
|
- - ! '>='
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: '0'
|
62
|
+
- !ruby/object:Gem::Dependency
|
63
|
+
name: minitest
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
66
|
+
requirements:
|
67
|
+
- - ! '>='
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '0'
|
70
|
+
type: :development
|
71
|
+
prerelease: false
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ! '>='
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '0'
|
78
|
+
- !ruby/object:Gem::Dependency
|
79
|
+
name: activerecord
|
80
|
+
requirement: !ruby/object:Gem::Requirement
|
81
|
+
none: false
|
82
|
+
requirements:
|
83
|
+
- - ~>
|
84
|
+
- !ruby/object:Gem::Version
|
85
|
+
version: '3.0'
|
86
|
+
type: :development
|
87
|
+
prerelease: false
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
90
|
+
requirements:
|
91
|
+
- - ~>
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: '3.0'
|
62
94
|
description: Active Record extender to enable the selection of a database column and
|
63
95
|
have all of it's values enumerable
|
64
96
|
email:
|
@@ -99,7 +131,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
99
131
|
version: '0'
|
100
132
|
requirements: []
|
101
133
|
rubyforge_project:
|
102
|
-
rubygems_version: 1.8.
|
134
|
+
rubygems_version: 1.8.30
|
103
135
|
signing_key:
|
104
136
|
specification_version: 3
|
105
137
|
summary: enumerable values from database columns
|