Class: YARD::CodeObjects::RootObject

Inherits:
ModuleObject show all
Defined in:
lib/yard/code_objects/root_object.rb

Overview

Represents the root namespace object (the invisible Ruby module that holds all top level modules, class and other objects).

Instance Attribute Summary (collapse)

Instance Method Summary (collapse)

Constructor Details

This class inherits a constructor from YARD::CodeObjects::NamespaceObject

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class YARD::CodeObjects::Base

Instance Attribute Details

- (Hash) aliases (readonly) Originally defined in class NamespaceObject

A hash containing two keys, :class and :instance, each containing a hash of objects and their alias names.

Returns:

  • (Hash)

    a list of methods

- (Hash) attributes (readonly) Originally defined in class NamespaceObject

A hash containing two keys, class and instance, each containing the attribute name with a { :read, :write } hash for the read and write objects respectively.

Examples:

The attributes of an object

>> Registry.at('YARD::Docstring').attributes
=> {
      :class => { },
      :instance => {
        :ref_tags => {
          :read => #<yardoc method YARD::Docstring#ref_tags>,
          :write => nil
        },
        :object => {
          :read => #<yardoc method YARD::Docstring#object>,
          :write => #<yardoc method YARD::Docstring#object=>
         },
         ...
      }
    }

Returns:

  • (Hash)

    a list of methods

- (Docstring) base_docstring (readonly) Originally defined in class Base

The non-localized documentation string associated with the object

Returns:

Since:

  • 0.8.4

- (Base?) child(opts = {}) Originally defined in class NamespaceObject

Looks for a child that matches the attributes specified by opts.

Examples:

Finds a child by name and scope

namespace.child(:name => :to_s, :scope => :instance)
# => #<yardoc method MyClass#to_s>

Returns:

  • (Base, nil)

    the first matched child object, or nil

- (Array<Base>) children (readonly) Originally defined in class NamespaceObject

The list of objects defined in this namespace

Returns:

- (Hash) class_attributes Originally defined in class NamespaceObject

Only the class attributes

Returns:

  • (Hash)

    a list of method names and their read/write objects

See Also:

- (Array<ModuleObject>) class_mixins (readonly) Originally defined in class NamespaceObject

Class mixins

Returns:

- (Array<ConstantObject>) constants(opts = {}) Originally defined in class NamespaceObject

Returns all constants in the namespace

Parameters:

  • opts (Hash) (defaults to: {})

    a customizable set of options

Options Hash (opts):

  • :included (Boolean) — default: true

    whether or not to include mixed in constants in list

Returns:

- (Array<ClassVariableObject>) cvars Originally defined in class NamespaceObject

Returns class variables defined in this namespace.

Returns:

- (Boolean) dynamic Originally defined in class Base

Marks whether or not the method is conditionally defined at runtime

Returns:

  • (Boolean)

    true if the method is conditionally defined at runtime

- (Array<String>) files (readonly) Originally defined in class Base

The files the object was defined in. To add a file, use #add_file.

Returns:

See Also:

- (String) group Originally defined in class Base

Returns the group this object is associated with

Returns:

  • (String)

    the group this object is associated with

Since:

  • 0.6.0

- (Array<String>) groups Originally defined in class NamespaceObject

Returns a list of ordered group names inside the namespace

Returns:

  • (Array<String>)

    a list of ordered group names inside the namespace

Since:

  • 0.6.0

- (Array<ConstantObject>) included_constants Originally defined in class NamespaceObject

Returns constants included from any mixins

Returns:

- (Object) included_meths(opts = {}) Originally defined in class NamespaceObject

Returns methods included from any mixins that match the attributes specified by opts. If no options are specified, returns all included methods.

Parameters:

  • opts (Hash) (defaults to: {})

    a customizable set of options

Options Hash (opts):

  • :visibility (Array<Symbol>, Symbol) — default: [:public, :private, :protected]

    the visibility of the methods to list. Can be an array or single value.

  • :scope (Array<Symbol>, Symbol) — default: [:class, :instance]

    the scope of the methods to list. Can be an array or single value.

  • :included (Boolean) — default: true

    whether to include mixed in methods in the list.

See Also:

- (Hash) instance_attributes Originally defined in class NamespaceObject

Only the instance attributes

Returns:

  • (Hash)

    a list of method names and their read/write objects

See Also:

- (Array<ModuleObject>) instance_mixins (readonly) Originally defined in class NamespaceObject

Instance mixins

Returns:

- (Array<MethodObject>) meths(opts = {}) Originally defined in class NamespaceObject

Returns all methods that match the attributes specified by opts. If no options are provided, returns all methods.

Examples:

Finds all private and protected class methods

namespace.meths(:visibility => [:private, :protected], :scope => :class)
# => [#<yardoc method MyClass.privmeth>, #<yardoc method MyClass.protmeth>]

Parameters:

  • opts (Hash) (defaults to: {})

    a customizable set of options

Options Hash (opts):

  • :visibility (Array<Symbol>, Symbol) — default: [:public, :private, :protected]

    the visibility of the methods to list. Can be an array or single value.

  • :scope (Array<Symbol>, Symbol) — default: [:class, :instance]

    the scope of the methods to list. Can be an array or single value.

  • :included (Boolean) — default: true

    whether to include mixed in methods in the list.

Returns:

- (Array<ModuleObject>) mixins(*scopes) Originally defined in class NamespaceObject

Returns for specific scopes. If no scopes are provided, returns all mixins.

Parameters:

  • scopes (Array<Symbol>)

    a list of scopes (:class, :instance) to return mixins for. If this is empty, all scopes will be returned.

Returns:

- (NamespaceObject) namespace Also known as: parent Originally defined in class Base

The namespace the object is defined in. If the object is in the top level namespace, this is Registry.root

Returns:

- (String) signature Originally defined in class Base

The one line signature representing an object. For a method, this will be of the form "def meth(arguments...)". This is usually the first source line.

Returns:

  • (String)

    a line of source

- (String?) source Originally defined in class Base

The source code associated with the object

Returns:

  • (String, nil)

    source, if present, or nil

- (Symbol) source_type Originally defined in class Base

Language of the source code associated with the object. Defaults to :ruby.

Returns:

  • (Symbol)

    the language type

- (Symbol) visibility Originally defined in class Base

Returns the visibility of an object (:public, :private, :protected)

Returns:

  • (Symbol)

    the visibility of an object (:public, :private, :protected)

Instance Method Details

- (Boolean) equal?(other)

Returns:

  • (Boolean)


10
11
12
# File 'lib/yard/code_objects/root_object.rb', line 10

def equal?(other)
  other == :root ? true : super(other)
end

- (Object) hash



14
# File 'lib/yard/code_objects/root_object.rb', line 14

def hash; :root.hash end

- (Object) inspect



7
# File 'lib/yard/code_objects/root_object.rb', line 7

def inspect; @inspect ||= "#<yardoc root>" end

- (Object) path



6
# File 'lib/yard/code_objects/root_object.rb', line 6

def path; @path ||= "" end

- (Boolean) root?

Returns:

  • (Boolean)


8
# File 'lib/yard/code_objects/root_object.rb', line 8

def root?; true end

- (Object) title



9
# File 'lib/yard/code_objects/root_object.rb', line 9

def title; 'Top Level Namespace' end