ruby_enum 0.2.0 → 0.2.1

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: 657f62ea2a5ad4d1de5127994577fed1718f6818
4
- data.tar.gz: b2e13247e031052801b3a655b56f66384e1163e7
3
+ metadata.gz: c5ccd7847de64479ce5045e9d9d626d75b53c3e6
4
+ data.tar.gz: db2ab0962418720a387a1e66e2d01ab743ac1001
5
5
  SHA512:
6
- metadata.gz: 61772d63201ff017e9fa501edf8072a1e54db44deff03a0dfac12894dff8ee1fbc3a6e821d2810b5fd87cdbe41073fbb6951109036e0299497981df2c988589c
7
- data.tar.gz: ce4300b106bb90bdbcfa257a7dad0684b2551b08168aaf81d1046975941a292175fb07dc318bb2af708eaf0708b1284d9ee9ea07bdfdc33adee955b17e3b6712
6
+ metadata.gz: 61779af426a4a14e7b3dc199b6fc258b42a99e8e25545a92fc97eaf7db574d662af713479f22cd9a884c8dec0bfc113e84ec54f1ee7d57d888db64232ff5a40f
7
+ data.tar.gz: 5f9fc3e2d9cd4104a7b0143283d928df15c52d26650661dcfc18dac79ebb21a177075a7c2a6dfd02c895f27b57fe9801809d772a4d9f6d23aacbfd50f5dd0986
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- ruby_enum (0.2.0)
4
+ ruby_enum (0.2.1)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -1,3 +1,3 @@
1
1
  module RubyEnum
2
- VERSION = "0.2.0"
2
+ VERSION = "0.2.1"
3
3
  end
data/lib/ruby_enum.rb CHANGED
@@ -62,38 +62,41 @@ module RubyEnum
62
62
 
63
63
  # defines enumeration values
64
64
  def enum(name, value = nil)
65
- normalized_name = normalize name
65
+ normalized_name = _normalize name
66
66
  if self[normalized_name]
67
67
  raise ArgumentError, "An enumeration value for #{normalized_name} has " \
68
68
  "already been defined in #{self.name}."
69
69
  else
70
70
  value = normalized_name.to_s unless value
71
- define_instance_accessor_for normalized_name
72
- enumeration_values[normalized_name] = new(normalized_name, value)
71
+ _define_instance_accessor_for normalized_name
72
+ _enumeration_values[normalized_name] = new(normalized_name, value)
73
73
  end
74
74
  end
75
75
 
76
76
  def [](name)
77
- enumeration_values[normalize(name)]
77
+ _enumeration_values[_normalize(name)]
78
78
  end
79
79
 
80
80
  def all
81
- enumeration_values.map { |_, instance| instance }
81
+ _enumeration_values.map { |_, instance| instance }
82
82
  end
83
83
 
84
84
  private
85
85
 
86
- def enumeration_values
86
+ def _enumeration_values
87
87
  @_instances ||= {}
88
88
  end
89
89
 
90
- def define_instance_accessor_for(name)
91
- self.class.instance_eval do
90
+ def _define_instance_accessor_for(name)
91
+ # check {http://ryanangilly.com/post/234897271/dynamically-adding-class-methods-in-ruby}
92
+ class << self
93
+ self
94
+ end.instance_eval do
92
95
  define_method(name) { return self[name] }
93
96
  end
94
97
  end
95
98
 
96
- def normalize(name)
99
+ def _normalize(name)
97
100
  name.to_s.downcase.to_sym
98
101
  end
99
102
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby_enum
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lefteris Laskaridis