abstractivator 0.0.25 → 0.0.26

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: 0c7615cf2a1920441356f004c04e538266bcff8a
4
- data.tar.gz: 3cbafbd8d4d96004a3bb71ad866559f84efc482e
3
+ metadata.gz: b795929700f827b1bbf14721ec221fed52500ad7
4
+ data.tar.gz: 4beb6284a5f126719dcd171eb62a07bae1f99b6f
5
5
  SHA512:
6
- metadata.gz: 505a6935ad5889bcb7cfdfac6fb95cf16a043e08723f48bd21eac5a3a43274f4b99474bc054b177a45c9a8e55cea551ed49f720dacf9f8ab5343ff6999bd053b
7
- data.tar.gz: 71b33fcc5c8399291aa465943cbbd112958c5b9a6db041c7f21148f2dacedd507132db0fc23614ea5f70214e75e99f6cf95eed06323fe3c66b61426dcb23606a
6
+ metadata.gz: 15de6b1a3fd955f91fa2f0025564fff670843dfcb702d96042dddaff393ca2003bb2469ccc36aee048d3d6b89ceb872093d27cda74e65b184ced4b30c54f2dc5
7
+ data.tar.gz: d3f99798f2341a12ac4d4ef73a6f01ca78a76cdae334548b405df343c1ce9bc06f5ede1df08ca15c7d3c158dc630fee9b24db7ca282a5038b31b38b10dcb4397
@@ -55,7 +55,11 @@ class WrappedEnumValue < SimpleDelegator
55
55
  end
56
56
 
57
57
  def define_enum(name, *fields)
58
- const_set(name, make_enum(*fields))
58
+ if respond_to?(:const_set)
59
+ const_set(name, make_enum(*fields))
60
+ else # top-level
61
+ Kernel.send(:const_set, name, make_enum(*fields))
62
+ end
59
63
  end
60
64
 
61
65
  def make_enum(*fields)
@@ -1,3 +1,3 @@
1
1
  module Abstractivator
2
- VERSION = '0.0.25'
2
+ VERSION = '0.0.26'
3
3
  end
@@ -12,6 +12,8 @@ class Container
12
12
  define_enum(:Vegetables, cucumber: 'Cucumis sativus', eggplant: 8)
13
13
  end
14
14
 
15
+ define_enum(:Meats, :bacon, :more_bacon)
16
+
15
17
  describe Enum do
16
18
  describe '::values' do
17
19
  it 'enumerates the values' do
@@ -59,6 +61,9 @@ describe '#define_enum' do
59
61
  expect(Container::Vegetables::CUCUMBER.enum_type).to eql Container::Vegetables
60
62
  expect(Container::Vegetables::EGGPLANT.enum_type).to eql Container::Vegetables
61
63
  end
64
+ it 'can define top level enumerations' do
65
+ expect(Meats.values).to eql %w(bacon more_bacon)
66
+ end
62
67
  it 'raises an error when called with bad arguments' do
63
68
  expect{define_enum(:Stuff, 5)}.to raise_error /Arguments must be/
64
69
  expect{define_enum(:Stuff, '!@$' => '')}.to raise_error /Arguments must be/
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: abstractivator
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.25
4
+ version: 0.0.26
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter Winton
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-03-16 00:00:00.000000000 Z
11
+ date: 2015-03-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler