# File lib/fog/core/service.rb, line 72
      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