module Occi::Api::Dsl

Public Instance Methods

connect(protocol = :http, options = {}) { |options| ... } click to toggle source
# File lib/occi/api/dsl.rb, line 6
def connect(protocol = :http, options = {})
  raise ArgumentError, 'Protocol is a required argument!' unless protocol

  if block_given?
    options = options.marshal_dump if options.is_a?(OpenStruct)
    options = Hashie::Mash.new(options)
    yield(options)
  end

  case protocol.to_sym
  when :http 
    @client = Occi::Api::Client::ClientHttp.new(options)
  else
    raise ArgumentError, "Protocol #{protocol.to_s} is not supported!"
  end

  @client.connect unless @client.connected

  true
end

Private Instance Methods

check() click to toggle source
# File lib/occi/api/dsl.rb, line 41
def check
  raise RuntimeError, "You have to issue 'connect' first!" unless @client
  raise RuntimeError, "Client is disconnected!" unless @client.connected
end