Class: DbAccessor::Writer
Constant Summary
collapse
- USER_MODEL =
'User'
- APP_MODEL =
'Application'
Db_Accessor::Base::ACTION_MODEL, Db_Accessor::Base::ASSIGNMENT_MODEL, Db_Accessor::Base::ENGINE_DATA_MODEL, Db_Accessor::Base::ENGINE_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
.get_content(object_param) ⇒ Object
23
24
25
|
# File 'lib/dbAccessor/writer/writer.rb', line 23
def self.get_content(object_param)
object_param[:content]
end
|
.get_object(object_param) ⇒ Object
27
28
29
|
# File 'lib/dbAccessor/writer/writer.rb', line 27
def self.get_object(object_param)
get_model_name(object_param).new(get_content(object_param))
end
|
.validate(param, waited_keys) ⇒ Object
47
48
49
50
|
# File 'lib/dbAccessor/writer/writer.rb', line 47
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) ⇒ Object
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
# File 'lib/dbAccessor/writer/writer.rb', line 31
def self.validate_required_params(param)
content = param[:content]
model_name = param[:model_name]
if model_name == 'User'
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 == 'Application'
content[:name].is_a?(String) && content[:api_key].is_a?(String) && content[:url].is_a?(String)
elsif model_name == 'Engine'
content[:name].is_a?(String) && content[:action_based].is_a?(String) && content[:application_id].is_a?(Fixnum)
else
false
end
end
|
.write_object(object_param) ⇒ Object
9
10
11
12
13
14
15
16
17
18
19
|
# File 'lib/dbAccessor/writer/writer.rb', line 9
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
|