class Gem::Commands::DependencyCommand - rubygems: Ruby Standard Library Documentation

# class Gem::Commands::DependencyCommand

### Public Class Methods

new() click to toggle source
Calls superclass method `Gem::Command::new`

    # File rubygems/commands/dependency_command.rb, line 11
    def initialize
      super "dependency",
            "Show the dependencies of an installed gem",
            version: Gem::Requirement.default, domain: :local

      add_version_option
      add_platform_option
      add_prerelease_option

      add_option("-R", "--[no-]reverse-dependencies",
                 "Include reverse dependencies in the output") do |value, options|
        options[:reverse_dependencies] = value
      end

      add_option("-p", "--pipe",
                 "Pipe Format (name --version ver)") do |value, options|
        options[:pipe_format] = value
      end

      add_local_remote_options
    end

### Public Instance Methods

execute() click to toggle source

    # File rubygems/commands/dependency_command.rb, line 117
    def execute
      ensure_local_only_reverse_dependencies

      pattern = name_pattern options[:args]
      requirement = Gem::Requirement.new options[:version]

      specs = fetch_specs pattern, requirement, options[:prerelease]

      reverse = reverse_dependencies specs

      if options[:pipe_format]
        display_pipe specs
      else
        display_readable specs, reverse
      end
    end

### Private Instance Methods

name_pattern(args) click to toggle source

    # File rubygems/commands/dependency_command.rb, line 196
    def name_pattern(args)
      return if args.empty?

      if args.length == 1 && args.first =~ /\A(.*)(i)?\z/m
        flags = $2 ? Regexp::IGNORECASE : nil
        Regexp.new $1, flags
      else
        /\A#{Regexp.union(*args)}/
      end
    end