has_calculated_fields 1.0.2 → 1.0.3.2

Sign up to get free protection for your applications and to get access to all the features.
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: