# Subdirs are not automatically loaded. Users must explicitly require them. module G5K class Api class << self # must be a hash of RestClient resources attr_accessor :registered_apis end def self.select(api_name, api_version = nil, api_uri = nil) if (registered_apis && api = (registered_apis[api_name] || registered_apis[api_name.to_s] || registered_apis[api_name.to_sym])) api = api["/#{api_version}"] if api_version api = api[api_uri] if api_uri api else raise ArgumentError, "The API #{api_name} is not available." end end end end if ![].respond_to?(:group_by) || ![].respond_to?(:index_by) require File.dirname(__FILE__)+"/g5k/enumerable_extensions" end