class DbAccessor::Deleter

Public Class Methods

delete(param) click to toggle source
# 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) click to toggle source
# 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) click to toggle source
# 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) click to toggle source
# 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