class DbAccessor::Writer

Constants

APP_MODEL
ENGINE_DATA_MODEL
ENGINE_MODEL
USER_MODEL

Public Class Methods

get_object(object_param) click to toggle source
# File lib/dbAccessor/writer/writer.rb, line 28
def self.get_object(object_param)
  get_model_name(object_param).new(get_content(object_param))
end
validate(param,waited_keys) click to toggle source
# File lib/dbAccessor/writer/writer.rb, line 52
def self.validate(param,waited_keys)
 valid_hash?(param) && valid_keys?(param,waited_keys) && is_model?(param[:model_name]) && valid_object_columns?(param[:model_name],param[:content]) && !validate_argument(param) && !validate_argument(param[:content]) && validate_required_params(param)

end
validate_required_params(param) click to toggle source
# File lib/dbAccessor/writer/writer.rb, line 32
def self.validate_required_params(param)
    content = param[:content]
    model_name = param[:model_name]
    if model_name == USER_MODEL
    email_pattern = /\A[\w+\-.]+@[a-z\d\-.]+\.[a-z]+\z/i
    content[:login].is_a?(String) && content[:password].is_a?(String) && content[:email].is_a?(String) && !(email_pattern.match(content[:email])).nil?

    elsif model_name == APP_MODEL
        content[:name].is_a?(String) && content[:api_key].is_a?(String) && content[:url].is_a?(String)

    elsif model_name == ENGINE_MODEL
        content[:name].is_a?(String) && content[:engine_conf].is_a?(String) && content[:application_id].is_a?(Fixnum)

    elsif model_name == ENGINE_DATA_MODEL
        content[:customer_id].is_a?(Fixnum) && content[:item_id].is_a?(Fixnum) && content[:preference].is_a?(Fixnum) && content[:engine_id].is_a?(Fixnum)
    else
        false
    end
end
write_object(object_param) click to toggle source
# File lib/dbAccessor/writer/writer.rb, line 11
def self.write_object(object_param)
  waited_keys =[:model_name,:content]
  if validate(object_param,waited_keys)
    @given_object = get_object(object_param)
    @given_object.save
    !@given_object.new_record? ? code = 201 : code = 400
    return_response(code,"Success")
  else
     return_response(400,"Failed")
  end
end

Private Class Methods

get_content(object_param) click to toggle source
# File lib/dbAccessor/writer/writer.rb, line 24
def self.get_content(object_param)
  object_param[:content]
end