lib/nanoc3/cli/logger.rb in nanoc3-3.1.4 vs lib/nanoc3/cli/logger.rb in nanoc3-3.1.5
- old
+ new
@@ -6,25 +6,29 @@
# Nanoc3::CLI::Logger is a singleton class responsible for generating
# feedback in the terminal.
class Logger
+ # Maps actions (`:create`, `:update`, `:identical` and `:skip`) onto their
+ # ANSI color codes.
ACTION_COLORS = {
:create => "\e[1m" + "\e[32m", # bold + green
:update => "\e[1m" + "\e[33m", # bold + yellow
:identical => "\e[1m", # bold
:skip => "\e[1m" # bold
}
include Singleton
- # The log level, which can be :high, :low or :off (which will log all
- # messages, only high-priority messages, or no messages at all,
+ # Returns the log level, which can be :high, :low or :off (which will log
+ # all messages, only high-priority messages, or no messages at all,
# respectively).
+ #
+ # @return [Symbol] The log level
attr_accessor :level
- # Whether to use color in log messages or not
+ # @return [Boolean] True if color should be used, false otherwise
attr_accessor :color
alias_method :color?, :color
def initialize
@level = :high
@@ -38,16 +42,17 @@
end
end
# Logs a file-related action.
#
- # +level+:: The importance of this action. Can be :high or :low.
+ # @param [:high, :low] level The importance of this action
#
- # +action+:: The kind of file action. Can be :create, :update or
- # :identical.
+ # @param [:create, :update, :identical] action The kind of file action
#
- # +identifier+:: The identifier of the item the action was performed on.
+ # @param [String] name The name of the file the action was performed on
+ #
+ # @return [void]
def file(level, action, identifier, duration=nil)
log(
level,
'%s%12s%s %s%s' % [
color? ? ACTION_COLORS[action.to_sym] : '',
@@ -59,21 +64,22 @@
)
end
# Logs a message.
#
- # +level+:: The importance of this message. Can be :high or :low.
+ # @param [:high, :low] level The importance of this message
#
- # +s+:: The message to be logged.
+ # @param [String] message The message to be logged
#
- # +io+:: The IO instance to which the message will be written. Defaults to
- # standard output.
- def log(level, s, io=$stdout)
+ # @param [#puts] io The stream to which the message should be written
+ #
+ # @return [void]
+ def log(level, message, io=$stdout)
# Don't log when logging is disabled
return if @level == :off
# Log when level permits it
- io.puts(s) if (@level == :low or @level == level)
+ io.puts(message) if (@level == :low or @level == level)
end
end
end