has_calculated_fields 1.0.2 → 1.0.3

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: 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