rubyenum 0.0.2 → 0.0.3

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a13d9004ed30ecc48f10fde6c097a520b74c6769
4
- data.tar.gz: 194d40e10e92cdf7f656d3a11dd86e01f510cb05
3
+ metadata.gz: 59018f7aa26b4d793b4734b2ba14b92791a4dead
4
+ data.tar.gz: fb035eefd79d94100f32e79f92545e44e99d3e6c
5
5
  SHA512:
6
- metadata.gz: 3c3bd66a2856d0b927a3912bcc27ea44b27af11e85578434a37edf4109d236bc451cebb61a3711d9c1671588879597780514eb6fcbc157826a479c32389a014f
7
- data.tar.gz: dddcba56f810aa9668c0da97d929503276415d4a8457c8a694d8506507cf04246b561dfc72beab0ff21e2ee566ac523db515d975df8bfcfbe7152b603d81d5ae
6
+ metadata.gz: c86272331b68ea897d66e50c280be1dfd598e37d7498e98ea1ae677ad73fbb1baa24a2706dccad658b0f492f4490a4d680cc5c863bcae4b3485542523c6ce8a5
7
+ data.tar.gz: b8b57468287d3aaee0a2781d53b7ebf7833702f4b5d790334b923e6b6109524529f3e98a3d751357fa16be0124ba4351b687ae140b89acca1587a18902d1a449
@@ -1,3 +1,3 @@
1
1
  module Rubyenum
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
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 = EnumObj.new symbol.to_s
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=(EnumObj), sets the property to the :via value
108
- # # animal => EnumObj, gets the property from the :via value
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.2
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-14 00:00:00.000000000 Z
11
+ date: 2015-01-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler