enum_fields 0.0.1 → 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: 0ae632efc222874e0efa5a5859e9e8b69b3a86e18ff162ea0d6b1ba2a65771da
4
- data.tar.gz: 2dbbaffc02090af1a2a6185b966ec45e010defd99469d952ccecc3f9929cdc60
3
+ metadata.gz: a47c98758ef1ba2667bd9e4a97e8b8f8c9c90885d7fd82075d90e0c64801813e
4
+ data.tar.gz: 2b6c1afb92e9cc9ed2623d0ef1fa5b42d490dc00fe6bfb50b4288bc76351b388
5
5
  SHA512:
6
- metadata.gz: 7bd2c106cabd6e3709e9c69fc83535596818c5805359b63d34edd48515c8f31aaf33ed7033910470850966f66627ca2d1ee6e81859fc0efd9b7c0df190aa0d7f
7
- data.tar.gz: 02ec904e369f37cdcdb6249a8a58370d02420188f8505f8abce43f967b23ab6dafc70870575eaf5603f85e04bb6b7bef19fe9df18700eda20fa2ef1ce4f94b52
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
@@ -18,7 +18,7 @@ module EnumFields
18
18
  define_class_methods!
19
19
  define_instance_getter!
20
20
  define_instance_setter!
21
- define_metadata_method!
21
+ define_metadata_methods!
22
22
  define_property_methods!
23
23
  define_inquiry_methods!
24
24
  define_scopes!
@@ -76,7 +76,7 @@ module EnumFields
76
76
  end
77
77
  end
78
78
 
79
- def define_metadata_method!
79
+ def define_metadata_methods!
80
80
  accessor = @accessor
81
81
  column_name = @column_name
82
82
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module EnumFields
4
- VERSION = '0.0.1'
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,24 +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_fields
38
- @enum_fields ||= {}.with_indifferent_access
39
- end
40
- end
22
+ include Base
41
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.1
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