# File lib/librarian/dsl/receiver.rb, line 25
      def run(specfile = nil)
        specfile = Proc.new if block_given?

        case specfile
        when Pathname
          instance_eval(File.read(specfile), specfile.to_s, 1)
        when String
          instance_eval(specfile)
        when Proc
          instance_eval(&specfile)
        else
          raise ArgumentError, "specfile must be a #{Pathname}, #{String}, or #{Proc} if no block is given (it was #{specfile.inspect})"
        end
      end