Module: Angus::Responses
Constant Summary
Constants included from StatusCodes
StatusCodes::HTTP_STATUS_CODE_CONFLICT, StatusCodes::HTTP_STATUS_CODE_FORBIDDEN, StatusCodes::HTTP_STATUS_CODE_INTERNAL_SERVER_ERROR, StatusCodes::HTTP_STATUS_CODE_NOT_FOUND, StatusCodes::HTTP_STATUS_CODE_OK, StatusCodes::HTTP_STATUS_CODE_UNAUTHORIZED, StatusCodes::HTTP_STATUS_CODE_UNPROCESSABLE_ENTITY
Instance Method Summary collapse
-
#build_data_response(data, attributes, messages = []) ⇒ Object
Builds a success response with the received data.
-
#build_message(key, level, *params) ⇒ ResponseMessage
Builds a ResponseMessage object.
-
#build_messages(level, messages) ⇒ Array<ResponseMessage>
Builds a list of messages with the following level.
-
#build_success_response(elements = {}, messages = []) ⇒ String
Builds a service success response.
- #get_message_definition(key, level) ⇒ Object
-
#json(element) ⇒ Object
Serializes
element
as json.
Methods included from StatusCodes
Instance Method Details
#build_data_response(data, attributes, messages = []) ⇒ Object
Builds a success response with the received data
32 33 34 35 36 37 38 |
# File 'lib/angus/responses.rb', line 32 def build_data_response(data, attributes, = []) marshalled_data = Angus::Marshalling.marshal_object(data, attributes) = (Angus::SDoc::Definitions::Message::INFO_LEVEL, ) build_success_response(marshalled_data, ) end |
#build_message(key, level, *params) ⇒ ResponseMessage
Builds a ResponseMessage object
66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 |
# File 'lib/angus/responses.rb', line 66 def (key, level, *params) = (key, level) unless raise NameError.new("Could not found message with key: #{key}, level: #{level}") end description = if .text .text % params else .description end { :level => level, :key => key, :dsc => description } end |
#build_messages(level, messages) ⇒ Array<ResponseMessage>
Builds a list of messages with the following level
ResponseMessage objects contained in messages param won’t be modified, this method
only creates ResponseMessage for each Symbol in messages array
51 52 53 54 55 |
# File 'lib/angus/responses.rb', line 51 def (level, ) ( || []).map do || (, level) end end |
#build_success_response(elements = {}, messages = []) ⇒ String
Builds a service success response
15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/angus/responses.rb', line 15 def build_success_response(elements = {}, = []) elements = { :status => :success, }.merge(elements) unless .empty? elements[:messages] = end json(elements) end |
#get_message_definition(key, level) ⇒ Object
82 83 84 85 86 87 88 |
# File 'lib/angus/responses.rb', line 82 def (key, level) = @definitions..find { |name, definition| name == key.to_s && definition.level.downcase == level.downcase } .last if end |
#json(element) ⇒ Object
Serializes element
as json
91 92 93 |
# File 'lib/angus/responses.rb', line 91 def json(element) JSON(element, :ascii_only => true) end |