Class: DbAccessor::Deleter

Inherits:
Db_Accessor::Base show all
Defined in:
lib/dbAccessor.rb,
lib/dbAccessor/deleter/deleter.rb

Constant Summary

Constants inherited from Db_Accessor::Base

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

Methods inherited from Db_Accessor::Base

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

Returns:

  • (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