def setup_requirements
if superclass.respond_to?(:setup_requirements)
superclass.setup_requirements
end
@required ||= false
unless @required
for collection in collections
require [@model_path, collection].join('/')
constant = collection.to_s.split('_').map {|characters| characters[0...1].upcase << characters[1..-1]}.join('')
service::Collections.module_eval "def \#{collection}(attributes = {})\n\#{service}::\#{constant}.new({:connection => self}.merge(attributes))\nend\n", __FILE__, __LINE__
end
for model in models
require [@model_path, model].join('/')
end
for request in requests
require [@request_path, request].join('/')
if service::Mock.method_defined?(request)
mocked_requests << request
else
service::Mock.module_eval "def \#{request}(*args)\nFog::Mock.not_implemented\nend\n", __FILE__, __LINE__
end
end
@required = true
end
end