class Github::ApiFactory

def self._create_instance(klass, options)

Passes configuration options to instantiated class
def self._create_instance(klass, options)
  options.symbolize_keys!
  instance = Github.const_get(klass.to_sym).new options
  Github.api_client = instance
  instance
end

def self.new(klass, options={})

Instantiates a new github api object
def self.new(klass, options={})
  return _create_instance(klass, options) if klass
  raise ArgumentError, 'must provied klass to be instantiated'
end