require 'net/http' require 'uri' require 'json' class BetterVideo def initialize(options={}) @addvideo_url = options.fetch(:url, "http://servicestest.bettervideo.com/orders/MDS.OrdersWS.svc/addVideo") end def addVideo(campaign) uri = URI.parse(@addvideo_url) header = {}#'Content-Type' => 'text/json'} http = Net::HTTP.new(uri.host, uri.port) request = Net::HTTP::Post.new(uri.request_uri, header) request.body = campaign[:campaign] response = http.request(request) resp = JSON.parse(response.body) puts resp if resp["success"] resp[:success] = true resp[:message] = "Successfully submitted to BetterVideo, Please wait." else resp[:message] = resp["errormessage"] end # "{\"errorcode\":1,\"errormessage\":\"There was an error parsing the supplied JSON.\",\"listingcode\":null,\"success\":false,\"videocode\":null}" resp end private def valid_json? json_ JSON.parse(json_) return true rescue JSON::ParserError return false end end