class MobilyApiJsonRequestHandler
Attributes
auth[RW]
request[RW]
Public Class Methods
new(auth=nil, request=MobilyApiRequest.new)
click to toggle source
# File lib/mobily/mobily_api_json_request_handler.rb, line 10 def initialize(auth=nil, request=MobilyApiRequest.new) @request = request @params = {} @content_type = 'json' @json_dict = {'Data' => {}} @auth = auth end
Public Instance Methods
add_auth(auth)
click to toggle source
# File lib/mobily/mobily_api_json_request_handler.rb, line 18 def add_auth(auth) if auth.is_a? MobilyApiAuth @json_dict['Data'].merge!({'Auth' => {'mobile' => auth.mobile_number, 'password' => auth.password}}) end end
add_parameter(key, value)
click to toggle source
# File lib/mobily/mobily_api_json_request_handler.rb, line 28 def add_parameter(key, value) if !value.nil? @params.merge!({key => value}) end end
get_request_data()
click to toggle source
# File lib/mobily/mobily_api_json_request_handler.rb, line 34 def get_request_data if @params.size > 0 @json_dict['Data'].update({'Params' => @params}) end add_auth(@auth) JSON.generate(@json_dict) end
handle()
click to toggle source
# File lib/mobily/mobily_api_json_request_handler.rb, line 42 def handle parse_response(request.send(get_request_data, @content_type)) end
set_api_method(method_name)
click to toggle source
# File lib/mobily/mobily_api_json_request_handler.rb, line 24 def set_api_method(method_name) @json_dict['Data'].merge!({'Method' => method_name}) end
Private Instance Methods
parse_response(data)
click to toggle source
# File lib/mobily/mobily_api_json_request_handler.rb, line 48 def parse_response(data) json_dict = JSON.parse(data) if not json_dict['Error'].nil? error = json_dict['Error'] raise MobilyApiError.new(error['ErrorCode'], error['MessageAr'], error['MessageEn']) end response = MobilyApiResponse.new(json_dict['status'], json_dict['ResponseStatus']) json_dict['Data'].each { |k, v| response.add_data(k, v) } response end