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