Class: DbAccessor::Deleter
Constant Summary
Db_Accessor::Base::APP_MODEL, Db_Accessor::Base::ENGINE_DATA_MODEL, Db_Accessor::Base::ENGINE_MODEL, Db_Accessor::Base::USER_MODEL
Class Method Summary
collapse
get_model_name, is_model?, return_response, valid_attributes_values?, valid_class?, valid_hash?, valid_keys?, valid_object_columns?, validate_argument, verify_keys
Class Method Details
.delete(param) ⇒ Object
20
21
22
23
24
|
# File 'lib/dbAccessor/deleter/deleter.rb', line 20
def self.delete(param)
parameter = JSON.parse(param,symbolize_names: true)
model = get_model_name(parameter)
model.delete_all
end
|
.delete_all(given_object) ⇒ Object
8
9
10
11
12
13
14
15
16
17
18
|
# File 'lib/dbAccessor/deleter/deleter.rb', line 8
def self.delete_all(given_object)
waited_keys = [:model_name,:condition]
if validate(given_object,waited_keys) && valid_condition?(given_object)
model = get_model_name(given_object)
condition = given_object[:condition]
condition == {} ? model.update_all("deleted = true") : model.where(condition).update_all("deleted = true")
return_response(200,"success")
else
return_response(400,"Not deleted")
end
end
|
.valid_condition?(param) ⇒ Boolean
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
# File 'lib/dbAccessor/deleter/deleter.rb', line 30
def self.valid_condition?(param)
condition = param[:condition]
model_name = param[:model_name]
if condition.is_a?(Hash)
if !(condition.empty?)
keys = condition.keys
values = condition.values
if !(valid_object_columns?(model_name,condition)) || validate_argument(condition) || !(valid_attributes_values?(condition))
return false
end
else
return true
end
else
return false
end
return true
end
|
.validate(param, waited_keys) ⇒ Object
26
27
28
|
# File 'lib/dbAccessor/deleter/deleter.rb', line 26
def self.validate(param,waited_keys)
param.is_a?(Hash) && valid_keys?(param,waited_keys) && !validate_argument(param) && is_model?(param[:model_name])
end
|