Sha256: a76c36c44b0748220b6099b1d6c6d86886a792faf8b8e04b662d56fb4d56b443
Contents?: true
Size: 1.78 KB
Versions: 2
Compression:
Stored size: 1.78 KB
Contents
## # Client handles all the information needed to connect to the api. # TODO research other wrappers to see how they handle the client without an api key. Do they allow the creating of the client with out one? # TODO Build 'running_conversions' method. # TODO Build 'conversion_types' method. # TODO Inspect the initialize to see if I should add or remove options. Parameters vs hash. module CloudConvert class Client include HTTMultiParty ## # The api key obtained from the cloud convert service. attr_reader :api_key ## # An array containing references to the processes created through the client. attr_reader :processes attr_accessor :return_type ## # Creates a new client with an api key. Optionally, you can also pass an array of processes. def initialize(args = {}) @api_key = args[:api_key] args[:processes].nil? ? @processes = [] : @processes = args[:processes] @return_type = args[:return_type] || :json end ## # Builds a process object and adds it to the client. Accepts the input format and output format for the conversion. def build_process(opts = {}) opts[:client] = self process = CloudConvert::Process.new(opts) processes.push(process) return process end ## # Returns an array of hash with the results from the Cloud Convert list endpoint. def list url = "#{CloudConvert::PROTOCOL}://api.#{CloudConvert::DOMAIN}/processes" response = CloudConvert::Client.send(:get, url, {query: {apikey: self.api_key}}) return convert_response response end private def convert_response(response) return response.response if self.return_type == :response return response.parsed_response.deep_symbolize end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
cloudconvert-ruby-0.1.8 | lib/cloud_convert/client.rb |
cloudconvert-ruby-0.1.2 | lib/cloud_convert/client.rb |