模块 Gem::Molinillo::UI

向用户传达有关解析过程的信息。

公共实例方法

after_resolution() 单击以切换源代码

在解析结束(无论是成功还是出错)后调用。默认情况下,打印一个换行符。

@return [void]

# File rubygems/vendor/molinillo/lib/molinillo/modules/ui.rb, line 40
def after_resolution
  output.puts
end
before_resolution() 单击以切换源代码

在解析开始之前调用。

@return [void]

# File rubygems/vendor/molinillo/lib/molinillo/modules/ui.rb, line 32
def before_resolution
  output.print 'Resolving dependencies...'
end
debug(depth = 0) { || ... } 单击以切换源代码

向用户传达调试信息。

@param [Integer] depth 解析过程的当前深度。 @return [void]

# File rubygems/vendor/molinillo/lib/molinillo/modules/ui.rb, line 48
def debug(depth = 0)
  if debug?
    debug_info = yield
    debug_info = debug_info.inspect unless debug_info.is_a?(String)
    debug_info = debug_info.split("\n").map { |s| ":#{depth.to_s.rjust 4}: #{s}" }
    output.puts debug_info
  end
end
debug?() 单击以切换源代码

是否应该打印调试消息。默认情况下,是否设置了 ‘MOLINILLO_DEBUG’ 环境变量。

@return [Boolean]

# File rubygems/vendor/molinillo/lib/molinillo/modules/ui.rb, line 62
def debug?
  return @debug_mode if defined?(@debug_mode)
  @debug_mode = ENV['MOLINILLO_DEBUG']
end
indicate_progress() 单击以切换源代码

大致每 {#progress_rate} 秒调用一次,此方法应向用户传达进度。

@return [void]

# File rubygems/vendor/molinillo/lib/molinillo/modules/ui.rb, line 17
def indicate_progress
  output.print '.' unless debug?
end
output() 单击以切换源代码

应该用于打印输出的 {IO} 对象。默认情况下为 ‘STDOUT’。

@return [IO]

# File rubygems/vendor/molinillo/lib/molinillo/modules/ui.rb, line 9
def output
  STDOUT
end
progress_rate() 单击以切换源代码

应该通过 {#indicate_progress} 向用户传达进度的频率,以秒为单位。默认情况下为三分之一秒。

@return [Float]

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