class Nokogiri::VersionInfo
:nodoc:
def self.instance; @@instance; end
def self.instance; @@instance; end
def compiled_parser_version
def compiled_parser_version LIBXML_VERSION end
def engine
def engine defined?(RUBY_ENGINE) ? RUBY_ENGINE : "mri" end
def jruby?
def jruby? ::JRUBY_VERSION if RUBY_PLATFORM == "java" end
def libxml2?
def libxml2? defined?(LIBXML_VERSION) end
def libxml2_using_packaged?
def libxml2_using_packaged? NOKOGIRI_USE_PACKAGED_LIBRARIES end
def libxml2_using_system?
def libxml2_using_system? !libxml2_using_packaged? end
def loaded_parser_version
def loaded_parser_version LIBXML_PARSER_VERSION. scan(/^(\d+)(\d\d)(\d\d)(?!\d)/).first. collect(&:to_i). join(".") end
def to_hash
def to_hash hash_info = {} hash_info["warnings"] = [] hash_info["nokogiri"] = Nokogiri::VERSION hash_info["ruby"] = {} hash_info["ruby"]["version"] = ::RUBY_VERSION hash_info["ruby"]["platform"] = ::RUBY_PLATFORM hash_info["ruby"]["description"] = ::RUBY_DESCRIPTION hash_info["ruby"]["engine"] = engine hash_info["ruby"]["jruby"] = jruby? if jruby? if libxml2? hash_info["libxml"] = {} hash_info["libxml"]["binding"] = "extension" if libxml2_using_packaged? hash_info["libxml"]["source"] = "packaged" hash_info["libxml"]["libxml2_path"] = NOKOGIRI_LIBXML2_PATH hash_info["libxml"]["libxslt_path"] = NOKOGIRI_LIBXSLT_PATH hash_info["libxml"]["libxml2_patches"] = NOKOGIRI_LIBXML2_PATCHES hash_info["libxml"]["libxslt_patches"] = NOKOGIRI_LIBXSLT_PATCHES else hash_info["libxml"]["source"] = "system" end hash_info["libxml"]["compiled"] = compiled_parser_version hash_info["libxml"]["loaded"] = loaded_parser_version hash_info["warnings"] = warnings elsif jruby? hash_info["xerces"] = Nokogiri::XERCES_VERSION hash_info["nekohtml"] = Nokogiri::NEKO_VERSION end hash_info end
def to_markdown
def to_markdown begin require "psych" rescue LoadError end require "yaml" "# Nokogiri (#{Nokogiri::VERSION})\n" + YAML.dump(to_hash).each_line.map { |line| " #{line}" }.join end
def warnings
def warnings return [] unless libxml2? if compiled_parser_version != loaded_parser_version ["Nokogiri was built against LibXML version #{compiled_parser_version}, but has dynamically loaded #{loaded_parser_version}"] else [] end end