Class: DbAccessor::Deleter
Constant Summary
Db_Accessor::Base::ACTION_MODEL, Db_Accessor::Base::APP_MODEL, Db_Accessor::Base::ASSIGNMENT_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_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
|
.delete_by_id(given_param) ⇒ Object
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
# File 'lib/dbAccessor/deleter/deleter.rb', line 21
def self.delete_by_id(given_param)
waited_keys = [:model_name,:id]
if validate(given_param,waited_keys) && validate_id(given_param[:id])
model_name = get_model_name(given_param)
objects = model_name.find(given_param[:id])
objects.each do |o|
o.deleted=true
o.save
end
return_response(200,"success")
else
return_response(400,"Not deleted")
end
end
|
.valid_condition?(param) ⇒ Boolean
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
# File 'lib/dbAccessor/deleter/deleter.rb', line 54
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
36
37
38
|
# File 'lib/dbAccessor/deleter/deleter.rb', line 36
def self.validate(param,waited_keys)
param.is_a?(Hash) && valid_keys?(param,waited_keys) && !validate_argument(param) && is_model?(param[:model_name])
end
|
.validate_id(param) ⇒ Object
40
41
42
43
44
45
46
47
48
49
50
51
52
|
# File 'lib/dbAccessor/deleter/deleter.rb', line 40
def self.validate_id(param)
if param.is_a?(Array)
param.each do |v|
if !(v.is_a?(Fixnum))
return false
break
end
end
else
return false
end
return true
end
|