class VideoWebserviceClient
Generic client for Video Web Service
Public Class Methods
new(user, url)
click to toggle source
Init
@param user [WSUser] the user used to log in @param url [String] the url that the client will use to access the resource @return [VideoWebserviceClient]
# File lib/video_webservice_client.rb, line 19 def initialize(user, url) @username = user.username @password = user.password @headers = {:Accept => 'application/json', :'Content-Type' => 'application/vnd.nativ.mio.v1+json'} @url = url end
Public Instance Methods
create_resource(payload)
click to toggle source
Creates a new Mio resource
@param payload [Hash] :payload for POST request, to be converted to JSON by RestClient @return [Hash] of requested object
# File lib/video_webservice_client.rb, line 47 def create_resource(payload) info_logger :info, "Request Url: #{@url}" info_logger :info, "Headers: #{@headers}" info_logger :info, "Username #{@username}" info_logger :info, "Payload: #{payload}" RestClient::Request.execute(method: :post, url: @url, timeout: 10, user: @username, password: @password, content_type: 'text/plain', headers: @headers, payload: payload.to_json) do |response| info_logger :info, "CREATE PROJECT RESPONSE: #{response}" raise "Create #{@object_type} request failed, HTTP STATUS: #{response}" unless HTTP_SUCCESS_CODES.cover? response.code info_logger :info, "#{@object_type} created" info_logger :info, JSON.parse(response) JSON.parse(response) end end
retrieve_resource(url=nil)
click to toggle source
Retrieves a Mio metadata definition.
@return [Hash] of requested object
# File lib/video_webservice_client.rb, line 29 def retrieve_resource(url=nil) @url ||= url definition_id = @url.gsub(/[^0-9]/, '') info_logger :info, "RETRIEVE RESOURCE: URL: #{@url}" info_logger :info, "RETRIEVE RESOURCE: HEADERS: #{@headers}" info_logger :info, "RETRIEVE RESOURCE: definition_ID: #{definition_id}" RestClient::Request.execute(method: :get, url: @url, timeout: 10, user: @username, password: @password, headers: @headers) do |response| raise "Retrieve resource #{definition_id} request failed" unless HTTP_SUCCESS_CODES.cover? response.code info_logger :info, "WS request successful - resource_request-#{definition_id}" JSON.parse(response) end end