# File lib/warden/strategies.rb, line 6
      def add(label, strategy = nil, &block)
        strategy ||= Class.new(Warden::Strategies::Base)
        strategy.class_eval(&block) if block_given?

        unless strategy.method_defined?(:authenticate!)
          raise NoMethodError, "authenticate! is not declared in the #{label.inspect} strategy"
        end

        unless strategy.ancestors.include?(Warden::Strategies::Base)
          raise "#{label.inspect} is not a #{base}"
        end

        _strategies[label] = strategy
      end