class Github::ApiFactory
def self.convert_to_constant(classes)
def self.convert_to_constant(classes) constant = Github classes.split('::').each do |klass| constant = constant.const_get klass end return constant end
def self.create_instance(klass, options)
def self.create_instance(klass, options) options.symbolize_keys! instance = convert_to_constant(klass.to_s).new options Github.api_client = instance instance end
def self.new(klass, options={})
def self.new(klass, options={}) return create_instance(klass, options) if klass raise ArgumentError, 'must provied klass to be instantiated' end