rubyenum 0.0.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/rubyenum/version.rb +1 -1
- data/lib/rubyenum.rb +16 -14
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 59018f7aa26b4d793b4734b2ba14b92791a4dead
|
4
|
+
data.tar.gz: fb035eefd79d94100f32e79f92545e44e99d3e6c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c86272331b68ea897d66e50c280be1dfd598e37d7498e98ea1ae677ad73fbb1baa24a2706dccad658b0f492f4490a4d680cc5c863bcae4b3485542523c6ce8a5
|
7
|
+
data.tar.gz: b8b57468287d3aaee0a2781d53b7ebf7833702f4b5d790334b923e6b6109524529f3e98a3d751357fa16be0124ba4351b687ae140b89acca1587a18902d1a449
|
data/lib/rubyenum/version.rb
CHANGED
data/lib/rubyenum.rb
CHANGED
@@ -5,9 +5,12 @@ module RubyEnum
|
|
5
5
|
class Base
|
6
6
|
|
7
7
|
@@all = []
|
8
|
-
|
9
8
|
@@fields = []
|
10
9
|
|
10
|
+
attr_reader :name
|
11
|
+
|
12
|
+
private_class_method :new
|
13
|
+
|
11
14
|
def self.all
|
12
15
|
@@all
|
13
16
|
end
|
@@ -22,8 +25,12 @@ module RubyEnum
|
|
22
25
|
end
|
23
26
|
end
|
24
27
|
|
28
|
+
def self.value_of(symbol)
|
29
|
+
const_get(symbol.to_s)
|
30
|
+
end
|
31
|
+
|
25
32
|
def self.enum(symbol, *vals)
|
26
|
-
enumObj =
|
33
|
+
enumObj = new symbol.to_s
|
27
34
|
const_set(symbol.to_s, enumObj)
|
28
35
|
vals.each_with_index do |val, i|
|
29
36
|
if get_fields[i].nil?
|
@@ -34,16 +41,6 @@ module RubyEnum
|
|
34
41
|
@@all << enumObj
|
35
42
|
end
|
36
43
|
|
37
|
-
end
|
38
|
-
|
39
|
-
class EnumObj
|
40
|
-
|
41
|
-
attr_reader :name
|
42
|
-
|
43
|
-
def initialize(name)
|
44
|
-
@name = name
|
45
|
-
end
|
46
|
-
|
47
44
|
def add_attribute(attr_name, value)
|
48
45
|
var = instance_variable_set(:"@#{attr_name}", value)
|
49
46
|
define_singleton_method("#{attr_name}") do
|
@@ -51,6 +48,11 @@ module RubyEnum
|
|
51
48
|
end
|
52
49
|
end
|
53
50
|
|
51
|
+
def initialize(name)
|
52
|
+
@name = name
|
53
|
+
end
|
54
|
+
|
55
|
+
|
54
56
|
end
|
55
57
|
|
56
58
|
## depends on rails
|
@@ -104,8 +106,8 @@ end
|
|
104
106
|
# enumify :animal, :with => :animal_example, :use => :id
|
105
107
|
|
106
108
|
# # overides getter and setter methods
|
107
|
-
# # animal=(
|
108
|
-
# # animal =>
|
109
|
+
# # animal=(AnimalExample), sets the property to the :use value @animal = id
|
110
|
+
# # animal => AnimalExample, gets the property from the :use value and converts to Enum
|
109
111
|
|
110
112
|
|
111
113
|
# end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rubyenum
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- georgemayer
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-01-
|
11
|
+
date: 2015-01-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|