slim_form_object 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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9c5555a1feb3ac6c05f8694427e34b86a37489e3
4
- data.tar.gz: d466979fd1fc33540f04439038423685bc4ef4f6
3
+ metadata.gz: d794f46de8a64093a4e262e7656f2c0276d1d0c2
4
+ data.tar.gz: 47a59625579728db477cd9a5017b1beb08b9bf3d
5
5
  SHA512:
6
- metadata.gz: 275116ef1c081f8226114193c6dff71d92ef95e5eece3528c43e9dbc61505ed82ce7e7986b5744b3db9063bc69f5b953aa4c76a3ec64d019ed147a43e840004c
7
- data.tar.gz: 6a7f43071d80515723f64753842a37a0be8a3b63eddd41c01fe5c1bb082c0651c27f6ed68f579cb1b99337593eee10cf4dc9fcb86722e4656bd27a9c340c7d1e
6
+ metadata.gz: 0aa2c73239db19ad87c8adf78f26b69c48ec47accd1af8b3feece70e71298635c4ee46f2baedd1bea3ec616fa98fc6b30c97881e20f9e284b07157f69254dd44
7
+ data.tar.gz: 1270613ecd43269dfebfb8ec81922e99d738ae88f1f78652a74b2f7ff673b2a4f7191ea6c82cbc2799f31a43dd7006d6f47c6e49268b62936e91ff4d4829fbcb
@@ -1,3 +1,3 @@
1
1
  module SlimFormObject
2
- VERSION = "1.0.2"
2
+ VERSION = "1.0.3"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: slim_form_object
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
  - woodcrust
@@ -16,28 +16,28 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 5.0.0
19
+ version: 4.0.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: 5.0.0
26
+ version: 4.0.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: actionview
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: 5.0.0
33
+ version: 4.0.0
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
- version: 5.0.0
40
+ version: 4.0.0
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: bundler
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -166,7 +166,6 @@ files:
166
166
  - lib/slim_form_object/helpers.rb
167
167
  - lib/slim_form_object/processing.rb
168
168
  - lib/slim_form_object/saver.rb
169
- - lib/slim_form_object/tmp.rb
170
169
  - lib/slim_form_object/validator.rb
171
170
  - lib/slim_form_object/version.rb
172
171
  - spec/db/database.yml
@@ -1,297 +0,0 @@
1
-
2
-
3
-
4
-
5
-
6
-
7
-
8
-
9
- # require 'byebug'
10
-
11
- # module SlimFormObject
12
- # class Base
13
- # attr_accessor :params
14
-
15
- # def self.init_models(*args)
16
- # self.instance_eval do
17
- # define_method(:array_of_single_models) { args }
18
- # end
19
- # add_attributes(args)
20
- # end
21
-
22
- # alias_method :init_single_models, :init_models
23
-
24
- # def self.init_multiple_models(*args)
25
- # self.instance_eval do
26
- # define_method(:array_multiple_models) { args }
27
- # end
28
- # add_attributes(args)
29
- # end
30
-
31
- # def self.add_attributes(models)
32
- # #acessors for model objects
33
- # models.each{ |model| attr_accessor snake(model.to_s).to_sym }
34
-
35
- # #delegate attributes of models
36
- # models.each do |model|
37
- # model.column_names.each do |attr|
38
- # delegate attr.to_sym, "#{attr}=".to_sym, to: snake(model.to_s).to_sym,
39
- # prefix: true
40
- # end
41
- # end
42
- # end
43
-
44
- # def self.set_model_name(name)
45
- # define_method(:model_name) { ActiveModel::Name.new(self, nil, name) }
46
- # end
47
- # # def initializer
48
-
49
- # # end
50
- # end
51
-
52
- # def self.included(base)
53
- # # define_properties(base)
54
-
55
- # base.include ActiveModel::Model
56
- # base.include HelperMethods
57
- # base.extend ClassMethods
58
- # base.extend HelperMethods
59
- # end
60
-
61
- # # def self.define_properties(form_object_klass)
62
- # # class << form_object_klass
63
- # # #attr_accessor for models and env params
64
- # # # attr_accessor :params
65
-
66
- # # # byebug
67
-
68
- # # # def params=(val)
69
- # # # @params = val
70
- # # # end
71
-
72
- # # # def params
73
- # # # @params
74
- # # # end
75
- # # end
76
- # # end
77
-
78
- # # module ClassMethods
79
-
80
- # # def init_models(*args)
81
- # # self.instance_eval do
82
- # # define_method(:array_of_single_models) { args }
83
- # # end
84
- # # add_attributes(args)
85
- # # end
86
-
87
- # # alias_method :init_single_models, :init_models
88
-
89
- # # def init_multiple_models(*args)
90
- # # self.instance_eval do
91
- # # define_method(:array_multiple_models) { args }
92
- # # end
93
- # # add_attributes(args)
94
- # # end
95
-
96
- # # def add_attributes(models)
97
- # # #acessors for model objects
98
- # # models.each{ |model| attr_accessor snake(model.to_s).to_sym }
99
-
100
- # # #delegate attributes of models
101
- # # models.each do |model|
102
- # # model.column_names.each do |attr|
103
- # # delegate attr.to_sym, "#{attr}=".to_sym, to: snake(model.to_s).to_sym,
104
- # # prefix: true
105
- # # end
106
- # # end
107
- # # end
108
-
109
- # # def set_model_name(name)
110
- # # define_method(:model_name) { ActiveModel::Name.new(self, nil, name) }
111
- # # end
112
- # # end
113
-
114
- # def submit
115
- # @array_of_single_models ||= array_of_single_models.reject do |model|
116
- # array_of_single_models_without_validates.include?(model) if self.respond_to?(:array_of_single_models_without_validates)
117
- # end
118
- # update_attributes
119
- # update_attributes_for_collection
120
- # self
121
- # end
122
-
123
- # alias_method :apply_parameters, :submit
124
-
125
- # def save
126
- # if valid?
127
- # models = Array.new(@array_of_single_models)
128
- # while model1 = models.delete( models[0] )
129
- # models.each{ |model2| save_models(model1, model2) }
130
- # save_last_model_if_not_associations(model1) if models.empty?
131
- # end
132
- # return true
133
- # end
134
- # false
135
- # end
136
-
137
- # def not_validate(*args)
138
- # define_singleton_method(:array_of_single_models_without_validates) { args }
139
- # end
140
-
141
- # private
142
-
143
- # def save_models(model_1, model_2)
144
- # self_object_of_model_for_save = nil
145
- # byebug
146
- # if both_model_attributes_exist?(model_1, model_2)
147
- # # byebug
148
- # self_object_of_model_for_save = to_bind_models(model_1, model_2)
149
- # save_model(self_object_of_model_for_save)
150
- # else
151
- # get_self_objects_of_model(model_1, model_2).each do |object|
152
- # save_model(object)
153
- # end
154
- # end
155
- # end
156
-
157
- # def to_bind_models(model_1, model_2)
158
- # self_object_of_model_1, self_object_of_model_2 = get_self_objects_of_model(model_1, model_2)
159
- # association = get_association(model_1, model_2)
160
-
161
- # if association == :belongs_to or association == :has_one
162
- # self_object_of_model_1.send( "#{snake(model_2.to_s)}=", self_object_of_model_2 )
163
- # elsif association == :has_many or association == :has_and_belongs_to_many
164
- # self_object_of_model_1.method("#{model_2.table_name}").call << self_object_of_model_2
165
- # end
166
-
167
- # self_object_of_model_1
168
- # end
169
-
170
- # def valid_model_for_save?(model)
171
- # ( (attributes_is_present?(model) and method( snake(model.to_s) ).call.id != nil) or (method( snake(model.to_s) ).call.id == nil and !all_attributes_is_empty?(model)) )
172
- # end
173
-
174
- # def attributes_is_present?(model)
175
- # (make_attributes_of_model(model) & params.keys).present?
176
- # end
177
-
178
- # def both_model_attributes_exist?(model_1, model_2)
179
- # valid_model_for_save?(model_1) and valid_model_for_save?(model_2)
180
- # end
181
-
182
- # def save_model(self_object_of_model)
183
- # if valid_model_for_save?(self_object_of_model.class)
184
- # self_object_of_model.save!
185
- # end
186
- # end
187
-
188
- # def all_attributes_is_empty?(model)
189
- # is_empty = true
190
- # array_symbols_of_attributes = (make_attributes_of_model(model) & params.keys).map { |attr| attr.to_sym }
191
- # params.slice(*array_symbols_of_attributes).values.each do |value|
192
- # is_empty = false unless value == ""
193
- # end
194
- # is_empty
195
- # end
196
-
197
- # def get_self_objects_of_model(model_1, model_2)
198
- # [ method( snake(model_1.to_s) ).call, method( snake(model_2.to_s) ).call ]
199
- # end
200
-
201
- # def save_last_model_if_not_associations(model)
202
- # association_trigger = false
203
- # self_object_of_model = method( snake(model.to_s) ).call
204
- # @array_of_single_models.each { |model2| association_trigger = true if get_association(model, model2) }
205
- # self_object_of_model.save unless association_trigger
206
- # rescue
207
- # self_object_of_model.class.find(self_object_of_model.id).update!(self_object_of_model.attributes)
208
- # end
209
-
210
- # def validation_models
211
- # @array_of_single_models.each do |model|
212
- # next unless valid_model_for_save?(model)
213
- # set_errors( method(snake(model.to_s)).call.errors ) unless method( snake(model.to_s) ).call.valid?
214
- # end
215
- # end
216
-
217
- # def set_errors(model_errors)
218
- # model_errors.each do |attribute, message|
219
- # errors.add(attribute, message)
220
- # end
221
- # end
222
-
223
- # def update_attributes
224
- # @array_of_single_models.each do |model|
225
- # model_attributes = make_attributes_of_model(model)
226
- # method( snake(model.to_s) ).call.assign_attributes( get_attributes_for_update(model_attributes, model) )
227
- # end
228
- # end
229
-
230
- # def update_attributes_for_collection
231
- # @array_of_single_models.each do |model|
232
- # assign_attributes_for_collection(model)
233
- # end
234
- # end
235
-
236
- # def keys_of_collections
237
- # @keys ||= []
238
- # params.keys.each do |key|
239
- # @array_of_single_models.each do |model|
240
- # self_object_of_model = method( snake(model.to_s) ).call
241
- # method_name = key.to_s[/#{snake(model.to_s)}_(.*)/, 1]
242
- # @keys << method_name if self_object_of_model.respond_to? method_name.to_s
243
- # end if key[/^.+_ids$/]
244
- # end if @keys.empty?
245
- # @keys
246
- # end
247
-
248
- # def exist_any_errors_without_collections?
249
- # keys_of_collections.each do |method_name|
250
- # @array_of_single_models.each do |model|
251
- # name_of_model = method_name.to_s[/^(.+)_ids$/, 1]
252
- # name_of_constant_model = name_of_model.split('_').map(&:capitalize).join
253
- # name_of_key_error = Object.const_get(name_of_constant_model).table_name
254
- # errors.messages.delete(name_of_key_error.to_sym)
255
- # end
256
- # end unless valid?
257
- # errors.messages.empty?
258
- # end
259
-
260
- # def assign_attributes_for_collection(model)
261
- # self_object_of_model = method( snake(model.to_s) ).call
262
-
263
- # keys_of_collections.each do |method_name|
264
- # if self_object_of_model.respond_to? method_name
265
- # old_attribute = self_object_of_model.method( method_name ).call
266
- # unless self_object_of_model.update_attributes( {method_name.to_s => params["#{snake(model.to_s)}_#{method_name}".to_sym]} )
267
- # set_errors(self_object_of_model.errors)
268
- # self_object_of_model.update_attributes( {method_name.to_s => old_attribute} )
269
- # end if exist_any_errors_without_collections?
270
- # end
271
- # end
272
- # end
273
-
274
- # def make_attributes_of_model(model)
275
- # model_attributes = []
276
- # model.column_names.each do |name|
277
- # model_attributes << "#{snake(model.to_s)}_#{name}"
278
- # end
279
- # model_attributes
280
- # end
281
-
282
- # def get_attributes_for_update(model_attributes, model)
283
- # attributes_for_update = {}
284
- # hash_attributes = params.slice(*model_attributes)
285
- # hash_attributes.each{ |attr, val| attributes_for_update[attr.gsub(/#{snake(model.to_s)}_(.*)/, '\1')] = val }
286
- # attributes_for_update
287
- # end
288
-
289
- # def get_association(class1, class2)
290
- # class1.reflections.slice(snake(class2.to_s), class2.table_name).values.first&.macro
291
- # end
292
-
293
-
294
- # # get attributes
295
- # # .gsub(/^\[|\]$|"/, '').split(', ')
296
-
297
- # end