has_calculated_fields 1.0.2 → 1.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: c0f76b0b8b2d025e7dac0908d2986e4eeb77cde4421b572a6e735eabed7b08a4
4
- data.tar.gz: 6639a016d0a9e871b82b2d0f140d189fc820fa519723a02bf070a7fc99a6ac99
3
+ metadata.gz: 2a23a9eeb023025474707803883654b56283734136f43a154e808f8791249045
4
+ data.tar.gz: a9628e8beed6c91953e0eb3573061cb33e5f5fb8f246eedca78851cedf8948d1
5
5
  SHA512:
6
- metadata.gz: c430974e45c44f9ad3c7cf12e247ceaaed1b975dbfbda2be55d55f2f4e1f2ac967c447eeb41e5480fbe71a8ed1998aee530f5fa8d54a36ee7e157625cd3b9da9
7
- data.tar.gz: 0aec19691173cc3954420b35c96cb54346d9412f9510968eced6af04cd849408bdd739221ced3e509da38397b5aa91b5f24bb3ef2258df3aa546aeaaef432b7d
6
+ metadata.gz: aaa4fc3f368d22f30e8b98e1d93744413e2be1d794ac27382500f7c00da2a05c384f235364527058a2332ff4a0908cc987c0b2dbb12d7e98eaeec209623cb51e
7
+ data.tar.gz: 9b5d7beaeb2718b7b5a2dcbdc58c9ce86501ed1bd91ab140b1b59d01b0682950c5d491a6950e60b03f52ea48ac69b0dc2ac8f87475a6952015d44bf26e9f304d
@@ -1,11 +1,9 @@
1
1
  # -*- encoding: utf-8 -*-
2
2
  # frozen_string_literal: true
3
3
 
4
- $:.push File.expand_path("../lib", __FILE__)
5
-
6
4
  Gem::Specification.new do |s|
7
5
  s.name = "has_calculated_fields"
8
- s.version = "1.0.2"
6
+ s.version = "1.0.3"
9
7
  s.platform = Gem::Platform::RUBY
10
8
  s.author = ["Adrian Fernandez"]
11
9
  s.email = ["adrianfernandez85@gmail.com"]
@@ -29,5 +27,4 @@ Gem::Specification.new do |s|
29
27
  s.add_development_dependency "factory_bot", "~> 4.8"
30
28
  s.add_development_dependency "database_cleaner"
31
29
  s.add_development_dependency "active_model_serializers", "~> 0.9.3"
32
-
33
30
  end
@@ -23,8 +23,21 @@ module HasCalculatedFields
23
23
  end
24
24
 
25
25
  included do
26
+ before_validation :_has_calculated_fields__on_before_validation
27
+ after_validation :_has_calculated_fields__on_after_validation
26
28
  before_save :_has_calculated_fields__on_before_save
27
- before_save :_has_calculated_fields__on_after_save
29
+ before_update :_has_calculated_fields__on_before_update
30
+ before_create :_has_calculated_fields__on_before_create
31
+ before_destroy :_has_calculated_fields__on_before_destroy
32
+ around_save :_has_calculated_fields__on_around_save
33
+ around_update :_has_calculated_fields__on_around_update
34
+ around_create :_has_calculated_fields__on_around_create
35
+ around_destroy :_has_calculated_fields__on_around_destroy
36
+ after_create :_has_calculated_fields__on_after_create
37
+ after_update :_has_calculated_fields__on_after_update
38
+ after_destroy :_has_calculated_fields__on_after_destroy
39
+ after_save :_has_calculated_fields__on_after_save
40
+ after_commit :_has_calculated_fields__on_after_commit
28
41
  end
29
42
 
30
43
  def _has_calculated_fields__on_before_save
@@ -45,6 +58,123 @@ module HasCalculatedFields
45
58
  end
46
59
  end
47
60
 
61
+ def _has_calculated_fields__on_before_validation
62
+ return unless respond_to?(:has_calculated_fields_options)
63
+ return unless has_calculated_fields_options.has_key?(:on_before_validation)
64
+
65
+ has_calculated_fields_options[:on_before_validation].each do |data|
66
+ _process_data(data)
67
+ end
68
+ end
69
+
70
+ def _has_calculated_fields__on_after_validation
71
+ return unless respond_to?(:has_calculated_fields_options)
72
+ return unless has_calculated_fields_options.has_key?(:on_after_validation)
73
+
74
+ has_calculated_fields_options[:on_after_validation].each do |data|
75
+ _process_data(data)
76
+ end
77
+ end
78
+
79
+ def _has_calculated_fields__on_before_update
80
+ return unless respond_to?(:has_calculated_fields_options)
81
+ return unless has_calculated_fields_options.has_key?(:on_before_update)
82
+
83
+ has_calculated_fields_options[:on_before_update].each do |data|
84
+ _process_data(data)
85
+ end
86
+ end
87
+
88
+ def _has_calculated_fields__on_before_create
89
+ return unless respond_to?(:has_calculated_fields_options)
90
+ return unless has_calculated_fields_options.has_key?(:on_before_create)
91
+
92
+ has_calculated_fields_options[:on_before_create].each do |data|
93
+ _process_data(data)
94
+ end
95
+ end
96
+
97
+ def _has_calculated_fields__on_before_destroy
98
+ return unless respond_to?(:has_calculated_fields_options)
99
+ return unless has_calculated_fields_options.has_key?(:on_before_destroy)
100
+
101
+ has_calculated_fields_options[:on_before_destroy].each do |data|
102
+ _process_data(data)
103
+ end
104
+ end
105
+
106
+ def _has_calculated_fields__on_around_save
107
+ return unless respond_to?(:has_calculated_fields_options)
108
+ return unless has_calculated_fields_options.has_key?(:on_around_save)
109
+
110
+ has_calculated_fields_options[:on_around_save].each do |data|
111
+ _process_data(data)
112
+ end
113
+ end
114
+
115
+ def _has_calculated_fields__on_around_update
116
+ return unless respond_to?(:has_calculated_fields_options)
117
+ return unless has_calculated_fields_options.has_key?(:on_around_update)
118
+
119
+ has_calculated_fields_options[:on_around_update].each do |data|
120
+ _process_data(data)
121
+ end
122
+ end
123
+
124
+ def _has_calculated_fields__on_around_create
125
+ return unless respond_to?(:has_calculated_fields_options)
126
+ return unless has_calculated_fields_options.has_key?(:on_around_create)
127
+
128
+ has_calculated_fields_options[:on_around_create].each do |data|
129
+ _process_data(data)
130
+ end
131
+ end
132
+
133
+ def _has_calculated_fields__on_around_destroy
134
+ return unless respond_to?(:has_calculated_fields_options)
135
+ return unless has_calculated_fields_options.has_key?(:on_around_destroy)
136
+
137
+ has_calculated_fields_options[:on_around_destroy].each do |data|
138
+ _process_data(data)
139
+ end
140
+ end
141
+
142
+ def _has_calculated_fields__on_after_create
143
+ return unless respond_to?(:has_calculated_fields_options)
144
+ return unless has_calculated_fields_options.has_key?(:on_after_create)
145
+
146
+ has_calculated_fields_options[:on_after_create].each do |data|
147
+ _process_data(data)
148
+ end
149
+ end
150
+
151
+ def _has_calculated_fields__on_after_update
152
+ return unless respond_to?(:has_calculated_fields_options)
153
+ return unless has_calculated_fields_options.has_key?(:on_after_update)
154
+
155
+ has_calculated_fields_options[:on_after_update].each do |data|
156
+ _process_data(data)
157
+ end
158
+ end
159
+
160
+ def _has_calculated_fields__on_after_destroy
161
+ return unless respond_to?(:has_calculated_fields_options)
162
+ return unless has_calculated_fields_options.has_key?(:on_after_destroy)
163
+
164
+ has_calculated_fields_options[:on_after_destroy].each do |data|
165
+ _process_data(data)
166
+ end
167
+ end
168
+
169
+ def _has_calculated_fields__on_after_commit
170
+ return unless respond_to?(:has_calculated_fields_options)
171
+ return unless has_calculated_fields_options.has_key?(:on_after_commit)
172
+
173
+ has_calculated_fields_options[:on_after_commit].each do |data|
174
+ _process_data(data)
175
+ end
176
+ end
177
+
48
178
  def _process_data(data)
49
179
  attr_equal = "#{data[:calculated_field]}="
50
180
 
@@ -55,6 +185,7 @@ module HasCalculatedFields
55
185
  _process_method(data)
56
186
  end
57
187
 
188
+ puts "#{attr_equal}#{value}"
58
189
  send(attr_equal, value)
59
190
  end
60
191
 
data/spec/.DS_Store CHANGED
Binary file
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: has_calculated_fields
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.2
4
+ version: 1.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Adrian Fernandez
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-08-20 00:00:00.000000000 Z
11
+ date: 2020-04-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec
@@ -191,8 +191,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
191
191
  - !ruby/object:Gem::Version
192
192
  version: '0'
193
193
  requirements: []
194
- rubyforge_project:
195
- rubygems_version: 2.7.8
194
+ rubygems_version: 3.0.3
196
195
  signing_key:
197
196
  specification_version: 4
198
197
  summary: Rails gem to allow models to save auto calculated fields