abstractivator 0.0.20 → 0.0.21

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: e2e72efdd6bc89faf5f8b2cfa863d7fed8dc643e
4
- data.tar.gz: 4ff37a3fb3cb13a2ef309a954c3220406f219585
3
+ metadata.gz: 225d5358712a6832210c7f813bc04131d388f7c4
4
+ data.tar.gz: d04cf93b9969771af87f578a3fee1eaa3053ac0b
5
5
  SHA512:
6
- metadata.gz: 5fe33acb32046988112b02e974747349d6fb124e333416cbdacc3bb7797e22cc3ed38559b0470d5d91afca3f91ac60dfbca2980ad92503df0bb82b2b70d0ccee
7
- data.tar.gz: 89ba9f0d00caf957ca7c3b588d9f8c48abfca63913df185a449eeed55c21bf11c1bec08c59f83a687ccf76c9eb4cd4fb798b39d7c9456cd504744fa201b6c0b6
6
+ metadata.gz: 9715f8fd66114314cb1eed58c43bed53e60c12e28d814c4c7414686d15d79b21cd078d234ce49d63ea7e7811a5f5f4ed97a5872512549969ee1b673d7e12d00a
7
+ data.tar.gz: d00027043d191a6eae479d5a57971f6fbd6dba1d1858b7f83edf9ae791e2a97194b03179d34ea6a30e5688c4f8bbf50c44443127566c84f5e0904f0148303ca0
@@ -21,6 +21,10 @@ module Enum
21
21
  safe_constantize("#{self.name}::#{sym.to_s.upcase}")
22
22
  end
23
23
 
24
+ def from(x)
25
+ values.find{|v| v == x}
26
+ end
27
+
24
28
  private
25
29
 
26
30
  def safe_constantize(str)
@@ -1,3 +1,3 @@
1
1
  module Abstractivator
2
- VERSION = '0.0.20'
2
+ VERSION = '0.0.21'
3
3
  end
@@ -34,6 +34,14 @@ describe Enum do
34
34
  expect{Container::Traditional.from_symbol(:baz)}.to raise_error
35
35
  end
36
36
  end
37
+ describe '::from' do
38
+ it 'returns the typed version of the value' do
39
+ x = 'apple'
40
+ expect(x.enum_type).to be_nil
41
+ result = Container::Fruits.from(x)
42
+ expect(result.enum_type).to eql Container::Fruits
43
+ end
44
+ end
37
45
  end
38
46
 
39
47
  describe '#define_enum' do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: abstractivator
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.20
4
+ version: 0.0.21
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter Winton