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