Module: Gem::Resolver::Molinillo::UI (Ruby 2.3.4)

In Files

  • rubygems/resolver/molinillo/lib/molinillo/modules/ui.rb

Class/Module Index [+]

Quicksearch

Gem::Resolver::Molinillo::UI

Conveys information about the resolution process to a user.

Public Instance Methods

after_resolution()

Called after resolution ends (either successfully or with an error). By default, prints a newline.

@return [void]

 
               # File rubygems/resolver/molinillo/lib/molinillo/modules/ui.rb, line 39
def after_resolution
  output.puts
end
            
before_resolution()

Called before resolution begins.

@return [void]

 
               # File rubygems/resolver/molinillo/lib/molinillo/modules/ui.rb, line 31
def before_resolution
  output.print 'Resolving dependencies...'
end
            
debug(depth = 0)

Conveys debug information to the user.

@param [Integer] depth the current depth of the resolution process. @return [void]

 
               # File rubygems/resolver/molinillo/lib/molinillo/modules/ui.rb, line 47
def debug(depth = 0)
  if debug?
    debug_info = yield
    debug_info = debug_info.inspect unless debug_info.is_a?(String)
    output.puts debug_info.split("\n").map { |s| '  ' * depth + s }
  end
end
            
debug?()

Whether or not debug messages should be printed. By default, whether or not the `MOLINILLO_DEBUG` environment variable is set.

@return [Boolean]

 
               # File rubygems/resolver/molinillo/lib/molinillo/modules/ui.rb, line 60
def debug?
  @debug_mode ||= ENV['MOLINILLO_DEBUG']
end
            
indicate_progress()

Called roughly every {#progress_rate}, this method should convey progress to the user.

@return [void]

 
               # File rubygems/resolver/molinillo/lib/molinillo/modules/ui.rb, line 16
def indicate_progress
  output.print '.' unless debug?
end
            
output()

The {IO} object that should be used to print output. `STDOUT`, by default.

@return [IO]

 
               # File rubygems/resolver/molinillo/lib/molinillo/modules/ui.rb, line 8
def output
  STDOUT
end
            
progress_rate()

How often progress should be conveyed to the user via {#indicate_progress}, in seconds. A third of a second, by default.

@return [Float]

 
               # File rubygems/resolver/molinillo/lib/molinillo/modules/ui.rb, line 24
def progress_rate
  0.33
end