abstractivator 0.0.15 → 0.0.16

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: 47647350eb409b2ff52995a8e4f7349134cebb60
4
- data.tar.gz: c2a3f24a61450361a6a8ccd6fc1265005970be91
3
+ metadata.gz: 0e6c6a67da77c6728b25e2013b59dbf40817d4d4
4
+ data.tar.gz: 47241325bdc19a0ce1633d64f52d1a24dd459097
5
5
  SHA512:
6
- metadata.gz: 9f0c2f1ad23e80a9e3633717456c3338b494b38591b557c58eecab7db713f4cdbc470367dd44d9c7e098d1f35c14e6e1c85e1a41b87ed83952036512343b52be
7
- data.tar.gz: 407f9d10c8c0b83ec44ec33375a11cd2d6b1d8369ce664b0041b4dff8a4cf597ca5fcfd58d3dd249de68de8681dba4a86080360cf75caa5e118b4307cd2c6ddf
6
+ metadata.gz: f1cc8d01dcaa14ec04d972598d8e342105fa2720f46384dae161345e42c29dbdfaa4ac6d79d5c0f541f402c088393112f569fef69d02394308ba9c8ac50de0bc
7
+ data.tar.gz: 24c5731465f66e1d607c083af1737866921f21dcac094eb53c0adf266a650fabd3f05d2ae79bd93c284efcd5c11342561bbd67e792ceef09d4277f6637f4d318
@@ -0,0 +1,29 @@
1
+ require 'active_support/inflector'
2
+
3
+ module Enum
4
+ def self.included(base)
5
+ base.extend ClassMethods
6
+ end
7
+
8
+ module ClassMethods
9
+ def values
10
+ self.constants.map{|sym| self.const_get(sym)}
11
+ end
12
+
13
+ def name_for(value)
14
+ self.constants.detect{|sym| self.const_get(sym) == value}
15
+ end
16
+
17
+ def from_symbol(sym)
18
+ safe_constantize("#{self.name}::#{sym.to_s.upcase}")
19
+ end
20
+
21
+ def safe_constantize(str)
22
+ begin
23
+ str.constantize
24
+ rescue NameError
25
+ fail "'#{str}' has not been defined as a constant"
26
+ end
27
+ end
28
+ end
29
+ end
@@ -1,3 +1,3 @@
1
1
  module Abstractivator
2
- VERSION = '0.0.15'
2
+ VERSION = '0.0.16'
3
3
  end
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.15
4
+ version: 0.0.16
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter Winton
@@ -83,6 +83,7 @@ files:
83
83
  - lib/abstractivator.rb
84
84
  - lib/abstractivator/collections.rb
85
85
  - lib/abstractivator/cons.rb
86
+ - lib/abstractivator/enum.rb
86
87
  - lib/abstractivator/enumerable_ext.rb
87
88
  - lib/abstractivator/proc_ext.rb
88
89
  - lib/abstractivator/trees.rb