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 +4 -4
- data/has_calculated_fields.gemspec +1 -4
- data/lib/has_calculated_fields/has_calculated_fields.rb +173 -5
- data/spec/.DS_Store +0 -0
- metadata +6 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3d3ea6225ba6315220787cc8182604663b03acb695342072a707c7710ab015aa
|
4
|
+
data.tar.gz: c70fbf60a71b26f946313e3cc4f0a22de31da55f92653c011ef50fe323495457
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
-
|
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:
|
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
|
-
|
195
|
-
|
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:
|