$62 GRAYBYTE WORDPRESS FILE MANAGER $29

SERVER : premium201.web-hosting.com #1 SMP Wed Mar 26 12:08:09 UTC 2025
SERVER IP : 172.67.217.254 | ADMIN IP 216.73.216.23
OPTIONS : CRL = ON | WGT = ON | SDO = OFF | PKEX = OFF
DEACTIVATED : NONE

/opt/alt/ruby18/lib64/ruby/1.8/rdoc/ri/

HOME
Current File : /opt/alt/ruby18/lib64/ruby/1.8/rdoc/ri//ri_reader.rb
require 'rdoc/ri/ri_descriptions'
require 'rdoc/ri/ri_writer'
require 'rdoc/markup/simple_markup/to_flow'

module RI
  class RiReader

    def initialize(ri_cache)
      @cache = ri_cache
    end

    def top_level_namespace
      [ @cache.toplevel ]
    end

    def lookup_namespace_in(target, namespaces)
      result = []
      for n in namespaces
        result.concat(n.contained_modules_matching(target))
      end
      result
    end

    def find_class_by_name(full_name)
      names = full_name.split(/::/)
      ns = @cache.toplevel
      for name in names
        ns = ns.contained_class_named(name)
        return nil if ns.nil?
      end
      get_class(ns)
    end

    def find_methods(name, is_class_method, namespaces)
      result = []
      namespaces.each do |ns|
        result.concat ns.methods_matching(name, is_class_method)
      end
      result
    end

    # return the MethodDescription for a given MethodEntry
    # by deserializing the YAML
    def get_method(method_entry)
      path = method_entry.path_name
      File.open(path) { |f| RI::Description.deserialize(f) }
    end

    # Return a class description
    def get_class(class_entry)
      result = nil
      for path in class_entry.path_names
        path = RiWriter.class_desc_path(path, class_entry)
        desc = File.open(path) {|f| RI::Description.deserialize(f) }
        if result
          result.merge_in(desc)
        else
          result = desc
        end
      end
      result
    end

    # return the names of all classes and modules
    def full_class_names
      res = []
      find_classes_in(res, @cache.toplevel)
    end

    # return a list of all classes, modules, and methods
    def all_names
      res = []
      find_names_in(res, @cache.toplevel)
    end

    # ----
    private
    # ----

    def find_classes_in(res, klass)
      classes = klass.classes_and_modules
      for c in classes
        res << c.full_name
        find_classes_in(res, c)
      end
      res
    end

    def find_names_in(res, klass)
      classes = klass.classes_and_modules
      for c in classes
        res << c.full_name
        res.concat c.all_method_names
        find_names_in(res, c)
      end
      res
    end

  end
end


Current_dir [ NOT WRITEABLE ] Document_root [ NOT WRITEABLE ]


[ Back ]
NAME
SIZE
LAST TOUCH
USER
CAN-I?
FUNCTIONS
..
--
3 Mar 2024 10.48 PM
root / linksafe
0755
ri_cache.rb
4.805 KB
12 Feb 2007 11.01 PM
root / linksafe
0644
ri_descriptions.rb
2.96 KB
12 Feb 2007 11.01 PM
root / linksafe
0644
ri_display.rb
6.631 KB
12 Feb 2007 11.01 PM
root / linksafe
0644
ri_driver.rb
3.941 KB
12 Feb 2007 11.01 PM
root / linksafe
0644
ri_formatter.rb
14.393 KB
12 Feb 2007 11.01 PM
root / linksafe
0644
ri_options.rb
8.603 KB
24 Dec 2007 7.22 AM
root / linksafe
0644
ri_paths.rb
2.897 KB
24 Dec 2007 7.22 AM
root / linksafe
0644
ri_reader.rb
2.185 KB
12 Feb 2007 11.01 PM
root / linksafe
0644
ri_util.rb
2.096 KB
12 Feb 2007 11.01 PM
root / linksafe
0644
ri_writer.rb
1.505 KB
12 Feb 2007 11.01 PM
root / linksafe
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2025 CONTACT ME
Static GIF