enum_fields 0.0.2 → 0.0.3

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: a47c98758ef1ba2667bd9e4a97e8b8f8c9c90885d7fd82075d90e0c64801813e
4
+ data.tar.gz: 2b6c1afb92e9cc9ed2623d0ef1fa5b42d490dc00fe6bfb50b4288bc76351b388
5
5
  SHA512:
6
- metadata.gz: 485b04dc8ba94218b9b3f06d818d4774b718ce7317ccd784b101987e4884a2355d125dc7c8e475ac12376a1fd861a4415f7e94c49e7c646f7fd8fcc719cbe926
7
- data.tar.gz: c8433c239623cf39d2d5e7368747c01350f986a9002f8614355d5f3acf0f7d23d6e4f58998e51c360d5152e1123c7d0dd1be76fdb3910392b8de3c6b4067a6ff
6
+ metadata.gz: b7adea7ae78a52314965bd1ad485ae9b19906719238d7813db2d0ebcf57d84b50c0a97d5bf8dec1da377f3cc2d90a1a6dd36fad4925758af0d9a3fc8859cebab
7
+ data.tar.gz: ddfece399a574a0a6cdd8b35fb48f5ab177759989c6cfad21a985c2ac6f5b82a71fd13253bc1d6ee36e70e03dee619cfaf459e2e7ac56b104e8a5517f7864e92
data/___DEPLOY.md ADDED
@@ -0,0 +1,2 @@
1
+ rake release
2
+ gem push pkg/enum_fields-0.0.2.gem
@@ -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
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.3'
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.3
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