enum_fields 0.0.4 → 0.0.5

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: 8331e8cbd798d1826d88aeaab4c935f0fcba72d46883fad5bafa401fe3e66442
4
- data.tar.gz: 557779cd5bec13707d33b0555186d00ebca2204e8f1ef7ac5aef332641866851
3
+ metadata.gz: 4d2ba45a5964fee807097e941cd817f7e1df72ace9094c8bf2620c7462bd06d2
4
+ data.tar.gz: 4b9c320af51de403c10631881531efe3455d2ac5946df3b5798d03e825e06ce3
5
5
  SHA512:
6
- metadata.gz: df074afe483cf5f97705a117ce61651a46bf2a75ce475b72de22724187ae0683810931faca9370edd848ee9a23173892c5337d70aea5278ee35a11a03d9f55e4
7
- data.tar.gz: 97ec7086ad9bf133312eac94be5ff03383851dcdfff5166e0d44fe6282ab984e1e6e38a3fcb15ade05bf810e0e0cf0ce7ad39250d74fdb0c4b15594b4989b176
6
+ metadata.gz: 6d16f74b5eb526d1cd7ea287a75b5a261679d432be001736b13e0ce52f442bc5806176e8e5020ae605b475eea608f83af25cd487eed1d181d50af30ad1a24dbf
7
+ data.tar.gz: e5ea072511fa65e0ea6f5221f9c39406af917533aecca0a6e962be8bf743fc17740033b32064d59579fac25f5cebfd337e2eb002b96546e14bd830275d8bc34e
data/README.md CHANGED
@@ -156,6 +156,11 @@ Campaign.stages_values # ['draft', 'scheduled', 'completed']
156
156
 
157
157
  # Returns the options for form helpers
158
158
  Campaign.stages_options # [['Draft', 'draft'], ['Scheduled', 'scheduled'], ['Completed', 'completed']]
159
+
160
+ # Returns the value for a specific key
161
+ Campaign.draft_stage_value # 'draft'
162
+ Campaign.scheduled_stage_value # 'scheduled'
163
+ Campaign.completed_stage_value # 'completed'
159
164
  ```
160
165
 
161
166
  #### Instance Getter/Setter
@@ -16,6 +16,7 @@ module EnumFields
16
16
  def define!
17
17
  store_definition!
18
18
  define_class_methods!
19
+ define_class_value_accessors!
19
20
  define_instance_getter!
20
21
  define_instance_setter!
21
22
  define_metadata_methods!
@@ -54,6 +55,18 @@ module EnumFields
54
55
  end
55
56
  end
56
57
 
58
+ def define_class_value_accessors!
59
+ accessor = @accessor
60
+
61
+ @definition.each do |key, metadata|
62
+ definition_value = metadata[:value]
63
+
64
+ @model_class.define_singleton_method("#{key}_#{accessor}_value") do
65
+ definition_value
66
+ end
67
+ end
68
+ end
69
+
57
70
  def define_instance_getter!
58
71
  return if @accessor == @column_name
59
72
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module EnumFields
4
- VERSION = '0.0.4'
4
+ VERSION = '0.0.5'
5
5
  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.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kinnell Shah
@@ -63,7 +63,6 @@ files:
63
63
  - CHANGELOG.md
64
64
  - LICENSE
65
65
  - README.md
66
- - ___DEPLOY.md
67
66
  - lib/enum_fields.rb
68
67
  - lib/enum_fields/base.rb
69
68
  - lib/enum_fields/definition.rb
@@ -94,7 +93,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
94
93
  - !ruby/object:Gem::Version
95
94
  version: '2.0'
96
95
  requirements: []
97
- rubygems_version: 3.7.2
96
+ rubygems_version: 4.0.3
98
97
  specification_version: 4
99
98
  summary: Enhanced enum-like fields for ActiveRecord models with metadata support
100
99
  test_files: []
data/___DEPLOY.md DELETED
@@ -1 +0,0 @@
1
- GEM_HOST_API_KEY=rubygems_db84a0b325ee57c261e6377227b29755def62cc2d8201c2e rake release