mechanize:Mechanize::File.new

grep しても File.new や FileSaver.new がないと思ったが、色々見てみたら分かった

lib/mechanize/file.rb

  class File
    ...
    def initialize(uri=nil, response=nil, body=nil, code=nil)
      ...


lib/mechanize/file_saver.rb

  class FileSaver < File
    ...
    def initialize(uri=nil, response=nil, body=nil, code=nil)
      ...


lib/mechanize/pluggable_parsers.rb

  class PluggableParser
    ...
    def parser(content_type)
      content_type.nil? ? default : @parsers[content_type] || default
    end

    def register_parser(content_type, klass)
      @parsers[content_type] = klass
    end
    ...

    def pdf=(klass)
      register_parser(CONTENT_TYPES[:pdf], klass)
    end


lib/mechanize/chain/response_body_parser.rb

class Mechanize
  class Chain
    class ResponseBodyParser
      ...
        params[:page] = @pluggable_parser.parser(content_type).new(
                                                                   uri,
                                                                   response,
                                                                   response_body,
                                                                   response.code
                                                                   ) { |parser|