rubyenum 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9c8c35f0eefaea3a69f72e056fa555a9b1179902
4
- data.tar.gz: 8371b1ce5445c3f3878a6860a21d0955e5392b57
3
+ metadata.gz: 9be57dd23500820447c6ba527653b335d00aa6a8
4
+ data.tar.gz: 5987ffb1b8ed836e8e58136bd727c45694cc9761
5
5
  SHA512:
6
- metadata.gz: 32fdc4390bf0280cf4cee4df923f8dd83555a3f8f5d3c5c683cef824862cd2370953faaeb95cd8b9bcaeabab04acb80fd637b79861862bead9ecc0031df5650b
7
- data.tar.gz: db8f3d8ad90967b1316ecbbe62ff926352477e9767ae5b8854d2a6601a57f3ef2dbe47d7313be5622760701749914fa4077efbb0c054374aa9c56469df6e55a7
6
+ metadata.gz: 55c855670afc22991c3208e691e156405b0c15068595c478ff129dc05621a6dfedf86fb6b1a023c0e073fd6edfa534ae0295679198f0eb3ba298bd78e089c82b
7
+ data.tar.gz: 13dee29c65fa2996e7a470e14b03258861c011c423e0f403f2aa8fde79d88961d2d3404d88c3aba84cf63d3628c499e0a40ea001a9192c24482f0bf2883dd931
@@ -5,27 +5,26 @@ module RubyEnum
5
5
 
6
6
  class Base
7
7
 
8
- @@all = []
9
- @@fields = []
10
-
11
8
  attr_reader :name
12
9
 
13
10
  private_class_method :new
14
11
 
15
12
  def self.all
16
- @@all
13
+ class_variable_get(:"@@all")
17
14
  end
18
15
 
19
16
  def self.get_fields
20
- @@fields
17
+ const_get("FIELDS")
21
18
  end
22
19
 
23
20
  def self.fields(*args)
21
+ class_variable_set(:"@@all", [])
22
+ fields = []
24
23
  args.each do |argument|
25
- @@fields << argument
24
+ fields << argument
26
25
  define_singleton_method("from_#{argument.to_s}") do |value|
27
26
  item_to_return = nil
28
- @@all.each do |item|
27
+ class_variable_get(:"@@all").each do |item|
29
28
  if item.send(argument) == value
30
29
  item_to_return = item
31
30
  break
@@ -34,6 +33,7 @@ module RubyEnum
34
33
  item_to_return
35
34
  end
36
35
  end
36
+ const_set("FIELDS", fields)
37
37
  end
38
38
 
39
39
  def self.value_of(symbol)
@@ -49,7 +49,7 @@ module RubyEnum
49
49
  end
50
50
  enumObj.add_attribute(get_fields[i], val)
51
51
  end
52
- @@all << enumObj
52
+ class_variable_get(:"@@all") << enumObj
53
53
  end
54
54
 
55
55
  def initialize(name)
@@ -65,18 +65,17 @@ module RubyEnum
65
65
 
66
66
 
67
67
 
68
+
68
69
  end
69
70
 
70
71
  module Associations
71
72
 
72
73
  # let ActiveRecord define these if using rails
73
74
  def create_helper_methods
74
- unless respond_to? :read_attribute
75
+ unless self.new.respond_to? :read_attribute
75
76
  define_method(:read_attribute) do |name|
76
77
  instance_variable_get(:"@#{name}")
77
78
  end
78
- end
79
- unless respond_to? :write_attribute
80
79
  define_method(:write_attribute) do |name, value|
81
80
  instance_variable_set(:"@#{name}", value)
82
81
  end
@@ -1,3 +1,3 @@
1
1
  module Rubyenum
2
- VERSION = "0.0.4"
2
+ VERSION = "0.0.5"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rubyenum
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - georgemayer