enum_fields 0.0.2 → 0.0.4

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
  SHA256:
3
- metadata.gz: 9f024949e3addcda80e4a07249b3230ed1b696d4cf9df80d7e923ebe56b763d8
4
- data.tar.gz: a926188a06928c5cf52794684babe353b857e45c71a979f99faba056e1fa59dc
3
+ metadata.gz: 8331e8cbd798d1826d88aeaab4c935f0fcba72d46883fad5bafa401fe3e66442
4
+ data.tar.gz: 557779cd5bec13707d33b0555186d00ebca2204e8f1ef7ac5aef332641866851
5
5
  SHA512:
6
- metadata.gz: 485b04dc8ba94218b9b3f06d818d4774b718ce7317ccd784b101987e4884a2355d125dc7c8e475ac12376a1fd861a4415f7e94c49e7c646f7fd8fcc719cbe926
7
- data.tar.gz: c8433c239623cf39d2d5e7368747c01350f986a9002f8614355d5f3acf0f7d23d6e4f58998e51c360d5152e1123c7d0dd1be76fdb3910392b8de3c6b4067a6ff
6
+ metadata.gz: df074afe483cf5f97705a117ce61651a46bf2a75ce475b72de22724187ae0683810931faca9370edd848ee9a23173892c5337d70aea5278ee35a11a03d9f55e4
7
+ data.tar.gz: 97ec7086ad9bf133312eac94be5ff03383851dcdfff5166e0d44fe6282ab984e1e6e38a3fcb15ade05bf810e0e0cf0ce7ad39250d74fdb0c4b15594b4989b176
data/___DEPLOY.md ADDED
@@ -0,0 +1 @@
1
+ GEM_HOST_API_KEY=rubygems_db84a0b325ee57c261e6377227b29755def62cc2d8201c2e rake release
@@ -0,0 +1,40 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EnumFields
4
+ module Base
5
+ extend ActiveSupport::Concern
6
+
7
+ class_methods do
8
+ def enum_field(accessor, definition, options = {})
9
+ raise MissingDefinitionsError unless definition.present?
10
+
11
+ EnumField.define(
12
+ model_class: self,
13
+ accessor: accessor,
14
+ definition: definition,
15
+ options: options
16
+ )
17
+ end
18
+
19
+ def enum_field_for(accessor)
20
+ enum_fields[accessor]
21
+ end
22
+
23
+ def enum_field?(accessor)
24
+ enum_fields.key?(accessor)
25
+ end
26
+
27
+ def enum_fields
28
+ @enum_fields ||= {}.with_indifferent_access
29
+ end
30
+ end
31
+
32
+ included do
33
+ def enum_fields_metadata
34
+ self.class.enum_fields.keys.index_with do |accessor|
35
+ public_send("#{accessor}_metadata")
36
+ end.with_indifferent_access
37
+ end
38
+ end
39
+ end
40
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module EnumFields
4
- VERSION = '0.0.2'
4
+ VERSION = '0.0.4'
5
5
  end
data/lib/enum_fields.rb CHANGED
@@ -10,6 +10,7 @@ require 'active_record'
10
10
 
11
11
  require_relative 'enum_fields/errors'
12
12
  require_relative 'enum_fields/version'
13
+ require_relative 'enum_fields/base'
13
14
 
14
15
  module EnumFields
15
16
  extend ActiveSupport::Concern
@@ -18,28 +19,5 @@ module EnumFields
18
19
  autoload :Definition
19
20
  autoload :EnumField
20
21
 
21
- class_methods do
22
- def enum_field(accessor, definition, options = {})
23
- raise MissingDefinitionsError unless definition.present?
24
-
25
- EnumField.define(
26
- model_class: self,
27
- accessor: accessor,
28
- definition: definition,
29
- options: options
30
- )
31
- end
32
-
33
- def enum_field_for(accessor)
34
- enum_fields[accessor]
35
- end
36
-
37
- def enum_field?(accessor)
38
- enum_fields.key?(accessor)
39
- end
40
-
41
- def enum_fields
42
- @enum_fields ||= {}.with_indifferent_access
43
- end
44
- end
22
+ include Base
45
23
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: enum_fields
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kinnell Shah
@@ -63,7 +63,9 @@ files:
63
63
  - CHANGELOG.md
64
64
  - LICENSE
65
65
  - README.md
66
+ - ___DEPLOY.md
66
67
  - lib/enum_fields.rb
68
+ - lib/enum_fields/base.rb
67
69
  - lib/enum_fields/definition.rb
68
70
  - lib/enum_fields/enum_field.rb
69
71
  - lib/enum_fields/errors.rb