lib/moceansdk/modules/transmitter.rb in moceansdk-1.0.0 vs lib/moceansdk/modules/transmitter.rb in moceansdk-1.0.1

- old
+ new

@@ -1,92 +1,92 @@ -module Moceansdk - module Modules - - class Transmitter - def initialize(options = nil) - @options = default_options - - unless options.nil? - @options = @options.merge(options) - end - end - - def default_options - { - base_url: 'https://rest.moceanapi.com', - version: '2' - } - end - - def get(uri, params) - request('get', uri, params) - end - - def post(uri, params) - request('post', uri, params) - end - - def request(method, uri, params) - params[:'mocean-medium'] = 'RUBY-SDK' - - # use json if default not set - params[:'mocean-resp-format'] = 'json' unless params[:'mocean-resp-format'] - - url = @options[:base_url] + '/rest/' + @options[:version] + uri - - res = if method.casecmp('get').zero? - HTTP.get(url, params: params) - else - HTTP.post(url, form: params) - end - - format_response(res.to_s, params[:'mocean-resp-format'] == 'xml', uri) - end - - def format_response(response_text, is_xml = false, uri = nil) - raw_response = response_text - - # format for v1 - if !uri.nil? && @options[:version] == '1' && is_xml - if uri == '/account/pricing' - response_text = response_text - .sub('<data>', '<destinations>') - .sub('</data>', '</destinations>') - elsif uri == '/sms' - response_text = response_text - .sub('<result>', '<result><messages>') - .sub('</result>', '</messages></result>') - end - end - - processed_response = ResponseFactory.create_object( - response_text - .sub('<verify_request>', '') - .sub('</verify_request>', '') - .sub('<verify_check>', '') - .sub('</verify_check>', '') - ) - - if processed_response['status'] && processed_response['status'] != '0' && processed_response['status'] != 0 - processed_response.raw_response = raw_response - raise Moceansdk::Exceptions::MoceanError.new(processed_response['err_msg'], processed_response) - end - - # format for v1 - if !uri.nil? && is_xml - if uri == '/account/pricing' - processed_response.destinations = processed_response.destinations.destination - elsif uri == '/sms' - unless processed_response.messages.message.is_a? Array - processed_response.messages.message = [processed_response.messages.message] - end - processed_response.messages = processed_response.messages.message - end - end - - processed_response.raw_response = raw_response - processed_response - end - end - - end +module Moceansdk + module Modules + + class Transmitter + def initialize(options = nil) + @options = default_options + + unless options.nil? + @options = @options.merge(options) + end + end + + def default_options + { + base_url: 'https://rest.moceanapi.com', + version: '2' + } + end + + def get(uri, params) + request('get', uri, params) + end + + def post(uri, params) + request('post', uri, params) + end + + def request(method, uri, params) + params[:'mocean-medium'] = 'RUBY-SDK' + + # use json if default not set + params[:'mocean-resp-format'] = 'json' unless params[:'mocean-resp-format'] + + url = @options[:base_url] + '/rest/' + @options[:version] + uri + + res = if method.casecmp('get').zero? + HTTP.get(url, params: params) + else + HTTP.post(url, form: params) + end + + format_response(res.to_s, params[:'mocean-resp-format'] == 'xml', uri) + end + + def format_response(response_text, is_xml = false, uri = nil) + raw_response = response_text + + # format for v1 + if !uri.nil? && @options[:version] == '1' && is_xml + if uri == '/account/pricing' + response_text = response_text + .sub('<data>', '<destinations>') + .sub('</data>', '</destinations>') + elsif uri == '/sms' + response_text = response_text + .sub('<result>', '<result><messages>') + .sub('</result>', '</messages></result>') + end + end + + processed_response = ResponseFactory.create_object( + response_text + .sub('<verify_request>', '') + .sub('</verify_request>', '') + .sub('<verify_check>', '') + .sub('</verify_check>', '') + ) + + if processed_response['status'] && processed_response['status'] != '0' && processed_response['status'] != 0 + processed_response.raw_response = raw_response + raise Moceansdk::Exceptions::MoceanError.new(processed_response['err_msg'], processed_response) + end + + # format for v1 + if !uri.nil? && is_xml + if uri == '/account/pricing' + processed_response.destinations = processed_response.destinations.destination + elsif uri == '/sms' + unless processed_response.messages.message.is_a? Array + processed_response.messages.message = [processed_response.messages.message] + end + processed_response.messages = processed_response.messages.message + end + end + + processed_response.raw_response = raw_response + processed_response + end + end + + end end \ No newline at end of file