lib/buckaruby/request.rb in buckaruby-1.1.1 vs lib/buckaruby/request.rb in buckaruby-1.2.0

- old
+ new

@@ -48,24 +48,34 @@ raw_response.body # Try to catch some common exceptions Net::HTTP might raise rescue Errno::ETIMEDOUT, Errno::EINVAL, Errno::ECONNRESET, Errno::ECONNREFUSED, Errno::EHOSTUNREACH, IOError, SocketError, Net::HTTPBadResponse, Net::HTTPHeaderSyntaxError, Net::OpenTimeout, - Net::ProtocolError, Net::ReadTimeout, OpenSSL::SSL::SSLError => ex - raise ConnectionException, ex + Net::ProtocolError, Net::ReadTimeout, OpenSSL::SSL::SSLError => e + raise ConnectionException, e end def build_request_data(options) params = { brq_websitekey: @config.website } params.merge!(build_request_params(options)) + params.merge!(build_custom_params(options[:custom])) if options[:custom] + params.merge!(build_additional_params(options[:additional])) if options[:additional] params[:add_buckaruby] = "Buckaruby #{Buckaruby::VERSION}" # Sign the data with our secret key. params[:brq_signature] = Signature.generate_signature(params, @config) params + end + + def build_custom_params(options) + options.map { |key, value| [:"cust_#{key}", value] }.to_h + end + + def build_additional_params(options) + options.map { |key, value| [:"add_#{key}", value] }.to_h end def post_data(params) params.map { |key, value| "#{key}=#{CGI.escape(value.to_s)}" }.join("&") end