yinum 2.0.0 → 2.0.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: 1e8081295eac8fc84fd85a1d3be91ab25a0c38ea
4
- data.tar.gz: b3e09fe7ab057e6d5376c7ff340604e5b1dd96a9
3
+ metadata.gz: 03314e7573a043c5ce587676825cfb8a72d6e776
4
+ data.tar.gz: a014ba1d54eea50332d2116d20e3b529e83bd534
5
5
  SHA512:
6
- metadata.gz: dba6fa59647819652cabe411f0af9354abe87b9b522cc4dd03f3ebbfa0837a91e602e6dc195cf91f09cce17d718647037a93e027b3df4da159cfb2450f22d509
7
- data.tar.gz: a0e2d4eabcdfdc21557f785db1e0c5b33e9e9f2e0f32f84c2aa59c0cb663993745eaaaa88a14371f808a65be0d3d162932c850120487426a9ea6e6eea5bb5d58
6
+ metadata.gz: eac85ff636e07318c7d2829f265c0595272631e6f9e4528dc1c66c4406227f4a388e0bf99612a551a8a007472ff287ec2ce5453c844834460d1a42d8952c3d7c
7
+ data.tar.gz: d7fd76c945942ac5d7a9b971ca161866c31842de0976aa372de5198dfe0153c2cfa27a30a7a8966f08526c7ed725fda01afb76d5802d70105d7b6e7273a67199
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- yinum (2.0.0)
4
+ yinum (2.0.1)
5
5
 
6
6
  GEM
7
7
  remote: http://rubygems.org/
@@ -23,28 +23,27 @@ module Enum::Helpers::EnumAttribute
23
23
  begin
24
24
  alias_method reader_without_enum, reader
25
25
  rescue NameError # reader does not exist
26
- else
27
- define_method(reader) do
28
- v = send(reader_without_enum)
29
- (ev = e.get(v)).nil? ? Enum::EnumValue.new(e, v) : ev
30
- end
26
+ no_reader = true
27
+ end
28
+ define_method(reader) do
29
+ v = no_reader ? super() : send(reader_without_enum)
30
+ (ev = e.get(v)).nil? ? Enum::EnumValue.new(e, v) : ev
31
31
  end
32
32
  # attribute writer
33
33
  writer, writer_without_enum = :"#{attr}=", :"#{attr}_without_enum="
34
34
  begin
35
35
  alias_method writer_without_enum, writer
36
36
  rescue NameError # writer does not exist
37
- else
38
- define_method(writer) do |v|
39
- case
40
- when v.enum_value?
41
- send(writer_without_enum, v.value)
42
- when v.nil?, v == "" # might be received from forms
43
- send(writer_without_enum, v)
44
- else
45
- send(writer_without_enum, e[v].value)
46
- end
47
- end
37
+ no_writer = true
38
+ end
39
+ define_method(writer) do |v|
40
+ v = case
41
+ when v.enum_value? then v.value
42
+ # might be received from forms
43
+ when v.nil?, v == "" then v
44
+ else e[v].value
45
+ end
46
+ no_writer ? super(v) : send(writer_without_enum, v)
48
47
  end
49
48
 
50
49
  if options[:qualifier]
data/lib/enum/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  class Enum
2
- VERSION = '2.0.0'
2
+ VERSION = '2.0.1'
3
3
  end
data/lib/enum.rb CHANGED
@@ -5,7 +5,7 @@ class Enum
5
5
  attr_reader :klass, :name, :by_name, :by_value
6
6
 
7
7
  def initialize(name, klass=nil, hash={})
8
- klass, hash = nil, klass unless klass.is_a?(Class)
8
+ klass, hash = nil, klass unless klass.is_a?(Module)
9
9
  @name, @klass = name, klass
10
10
  map_hash(hash)
11
11
  generate_methods
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: yinum
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0
4
+ version: 2.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Oded Niv
@@ -89,7 +89,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
89
89
  version: '0'
90
90
  requirements: []
91
91
  rubyforge_project: yinum
92
- rubygems_version: 2.2.0
92
+ rubygems_version: 2.4.2
93
93
  signing_key:
94
94
  specification_version: 4
95
95
  summary: Enum implementation