has_calculated_fields 1.0.2 → 1.0.3.2

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: 3d3ea6225ba6315220787cc8182604663b03acb695342072a707c7710ab015aa
4
+ data.tar.gz: c70fbf60a71b26f946313e3cc4f0a22de31da55f92653c011ef50fe323495457
5
5
  SHA512:
6
- metadata.gz: c430974e45c44f9ad3c7cf12e247ceaaed1b975dbfbda2be55d55f2f4e1f2ac967c447eeb41e5480fbe71a8ed1998aee530f5fa8d54a36ee7e157625cd3b9da9
7
- data.tar.gz: 0aec19691173cc3954420b35c96cb54346d9412f9510968eced6af04cd849408bdd739221ced3e509da38397b5aa91b5f24bb3ef2258df3aa546aeaaef432b7d
6
+ metadata.gz: 2980b8f0942749902f3d9c22e61b6d73706229142c4cf05bbdccad83520560d04dec6e8d131f56a6f445e3de32ab12c8158fc4d27f4118f499cdc592ee200b8b
7
+ data.tar.gz: b62d335f136953751f7bcfea723cacd850fe6c1dc18b1402eeff402984ec1df838eae4a59fede58e7905b75386f6149c93ec79121068ef689765c4c02d9710b6
@@ -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.2"
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,29 +23,197 @@ 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
31
- return unless respond_to?(:has_calculated_fields_options)
32
- return unless has_calculated_fields_options.has_key?(:on_before_save)
44
+ return true unless respond_to?(:has_calculated_fields_options)
45
+ return true unless has_calculated_fields_options.has_key?(:on_before_save)
33
46
 
34
47
  has_calculated_fields_options[:on_before_save].each do |data|
35
48
  _process_data(data)
36
49
  end
50
+
51
+ true
37
52
  end
38
53
 
39
54
  def _has_calculated_fields__on_after_save
40
- return unless respond_to?(:has_calculated_fields_options)
41
- return unless has_calculated_fields_options.has_key?(:on_after_save)
55
+ return true unless respond_to?(:has_calculated_fields_options)
56
+ return true unless has_calculated_fields_options.has_key?(:on_after_save)
42
57
 
43
58
  has_calculated_fields_options[:on_after_save].each do |data|
44
59
  _process_data(data)
45
60
  end
61
+
62
+ true
63
+ end
64
+
65
+ def _has_calculated_fields__on_before_validation
66
+ return true unless respond_to?(:has_calculated_fields_options)
67
+ return true unless has_calculated_fields_options.has_key?(:on_before_validation)
68
+
69
+ has_calculated_fields_options[:on_before_validation].each do |data|
70
+ _process_data(data)
71
+ end
72
+
73
+ true
74
+ end
75
+
76
+ def _has_calculated_fields__on_after_validation
77
+ return true unless respond_to?(:has_calculated_fields_options)
78
+ return true unless has_calculated_fields_options.has_key?(:on_after_validation)
79
+
80
+ has_calculated_fields_options[:on_after_validation].each do |data|
81
+ _process_data(data)
82
+ end
83
+
84
+ true
85
+ end
86
+
87
+ def _has_calculated_fields__on_before_update
88
+ return true unless respond_to?(:has_calculated_fields_options)
89
+ return true unless has_calculated_fields_options.has_key?(:on_before_update)
90
+
91
+ has_calculated_fields_options[:on_before_update].each do |data|
92
+ _process_data(data)
93
+ end
94
+
95
+ true
96
+ end
97
+
98
+ def _has_calculated_fields__on_before_create
99
+ return true unless respond_to?(:has_calculated_fields_options)
100
+ return true unless has_calculated_fields_options.has_key?(:on_before_create)
101
+
102
+ has_calculated_fields_options[:on_before_create].each do |data|
103
+ _process_data(data)
104
+ end
105
+
106
+ true
107
+ end
108
+
109
+ def _has_calculated_fields__on_before_destroy
110
+ return true unless respond_to?(:has_calculated_fields_options)
111
+ return true unless has_calculated_fields_options.has_key?(:on_before_destroy)
112
+
113
+ has_calculated_fields_options[:on_before_destroy].each do |data|
114
+ _process_data(data)
115
+ end
116
+
117
+ true
118
+ end
119
+
120
+ def _has_calculated_fields__on_around_save
121
+ return true unless respond_to?(:has_calculated_fields_options)
122
+ return true unless has_calculated_fields_options.has_key?(:on_around_save)
123
+
124
+ has_calculated_fields_options[:on_around_save].each do |data|
125
+ _process_data(data)
126
+ end
127
+
128
+ true
129
+ end
130
+
131
+ def _has_calculated_fields__on_around_update
132
+ return true unless respond_to?(:has_calculated_fields_options)
133
+ return true unless has_calculated_fields_options.has_key?(:on_around_update)
134
+
135
+ has_calculated_fields_options[:on_around_update].each do |data|
136
+ _process_data(data)
137
+ end
138
+
139
+ true
140
+ end
141
+
142
+ def _has_calculated_fields__on_around_create
143
+ return true unless respond_to?(:has_calculated_fields_options)
144
+ return true unless has_calculated_fields_options.has_key?(:on_around_create)
145
+
146
+ has_calculated_fields_options[:on_around_create].each do |data|
147
+ _process_data(data)
148
+ end
149
+
150
+ true
151
+ end
152
+
153
+ def _has_calculated_fields__on_around_destroy
154
+ return true unless respond_to?(:has_calculated_fields_options)
155
+ return true unless has_calculated_fields_options.has_key?(:on_around_destroy)
156
+
157
+ has_calculated_fields_options[:on_around_destroy].each do |data|
158
+ _process_data(data)
159
+ end
160
+
161
+ true
162
+ end
163
+
164
+ def _has_calculated_fields__on_after_create
165
+ return true unless respond_to?(:has_calculated_fields_options)
166
+ return true unless has_calculated_fields_options.has_key?(:on_after_create)
167
+
168
+ has_calculated_fields_options[:on_after_create].each do |data|
169
+ _process_data(data)
170
+ end
171
+
172
+ true
173
+ end
174
+
175
+ def _has_calculated_fields__on_after_update
176
+ return true unless respond_to?(:has_calculated_fields_options)
177
+ return true unless has_calculated_fields_options.has_key?(:on_after_update)
178
+
179
+ has_calculated_fields_options[:on_after_update].each do |data|
180
+ _process_data(data)
181
+ end
182
+
183
+ true
184
+ end
185
+
186
+ def _has_calculated_fields__on_after_destroy
187
+ return true unless respond_to?(:has_calculated_fields_options)
188
+ return true unless has_calculated_fields_options.has_key?(:on_after_destroy)
189
+
190
+ has_calculated_fields_options[:on_after_destroy].each do |data|
191
+ _process_data(data)
192
+ end
193
+
194
+ true
195
+ end
196
+
197
+ def _has_calculated_fields__on_after_commit
198
+ return true unless respond_to?(:has_calculated_fields_options)
199
+ return true unless has_calculated_fields_options.has_key?(:on_after_commit)
200
+
201
+ has_calculated_fields_options[:on_after_commit].each do |data|
202
+ _process_data(data)
203
+ end
204
+
205
+ true
46
206
  end
47
207
 
48
208
  def _process_data(data)
209
+ if data.key?(:if_changed)
210
+ return unless changes.keys.include?(data[:if_changed])
211
+ end
212
+
213
+ if data.key?(:unless_changed)
214
+ return if changes.keys.include?(data[:unless_changed])
215
+ end
216
+
49
217
  attr_equal = "#{data[:calculated_field]}="
50
218
 
51
219
  value = case data[:type]
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.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Adrian Fernandez
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-08-20 00:00:00.000000000 Z
11
+ date: 2022-05-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec
@@ -176,7 +176,7 @@ homepage: http://github.com/adrian-fernandez/has_calculated_fields
176
176
  licenses:
177
177
  - MIT
178
178
  metadata: {}
179
- post_install_message:
179
+ post_install_message:
180
180
  rdoc_options: []
181
181
  require_paths:
182
182
  - lib
@@ -191,9 +191,8 @@ 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
196
- signing_key:
194
+ rubygems_version: 3.0.3
195
+ signing_key:
197
196
  specification_version: 4
198
197
  summary: Rails gem to allow models to save auto calculated fields
199
198
  test_files: