Class: Babushka::Logging
Constant Summary
collapse
- TICK_CHAR =
'✓'
- CROSS_CHAR =
'✗'
Class Method Summary
collapse
Methods included from LogHelpers
debug, deprecated!, log, log_block, log_error, log_ok, log_stderr, log_warn, removed!
Class Method Details
.closing_log_message(message, result = true, opts = {}) ⇒ Object
140
141
142
143
144
145
146
147
148
149
150
151
152
|
# File 'lib/babushka/helpers/log_helpers.rb', line 140
def self.closing_log_message message, result = true, opts = {}
message = opts[:closing_status] if opts[:closing_status].is_a?(String)
if opts[:closing_status] == :status_only
'}'.colorize('grey') + ' ' + "#{result ? TICK_CHAR : CROSS_CHAR}".colorize(result ? 'green' : 'red')
elsif opts[:closing_status] == :dry_run
'}'.colorize('grey') + ' ' + "#{result ? TICK_CHAR : '~'} #{message}".colorize(result ? 'green' : 'blue')
elsif opts[:closing_status]
'}'.colorize('grey') + ' ' + "#{result ? TICK_CHAR : CROSS_CHAR} #{message}".colorize(result ? 'green' : 'red')
else
"}".colorize('grey')
end
end
|
214
215
216
217
|
# File 'lib/babushka/helpers/log_helpers.rb', line 214
def self.indent!
@indentation_level ||= 0
@indentation_level += 1
end
|
.indentation ⇒ Object
206
207
208
|
# File 'lib/babushka/helpers/log_helpers.rb', line 206
def self.indentation
' ' * indentation_level * 2
end
|
.indentation_level ⇒ Object
210
211
212
|
# File 'lib/babushka/helpers/log_helpers.rb', line 210
def self.indentation_level
@indentation_level ||= 0
end
|
.log_exception(exception) ⇒ Object
154
155
156
157
|
# File 'lib/babushka/helpers/log_helpers.rb', line 154
def self.log_exception exception
log_error "#{exception.backtrace.first}: #{exception.message}"
debug exception.backtrace * "\n"
end
|
.log_table(headings, rows) ⇒ Object
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
|
# File 'lib/babushka/helpers/log_helpers.rb', line 159
def self.log_table headings, rows
all_rows = rows.map {|row|
row.map(&:to_s)
}.unshift(
headings
).transpose.map {|col|
max_length = col.map(&:length).max
col.map {|cell| cell.ljust(max_length) }
}.transpose
[
all_rows.first.join(' | '),
all_rows.first.map {|i| '-' * i.length }.join('-+-')
].concat(
all_rows[1..-1].map {|row| row.join(' | ') }
).each {|row|
log row
}
end
|
.print(message) ⇒ Object
182
183
184
|
# File 'lib/babushka/helpers/log_helpers.rb', line 182
def self.print message
print_log(message, true, :stdout)
end
|
.print_log(message, printable, as) ⇒ Object
186
187
188
189
|
# File 'lib/babushka/helpers/log_helpers.rb', line 186
def self.print_log message, printable, as
print_log!(message, printable, as)
end
|
.print_log!(message, printable, as) ⇒ Object
191
192
193
194
195
196
197
198
199
200
|
# File 'lib/babushka/helpers/log_helpers.rb', line 191
def self.print_log! message, printable, as
if !printable
elsif [:error, :stderr].include?(as)
STDERR.print message
elsif !Base.task.opt(:silent)
STDOUT.print message
end
write_to_persistent_log message
end
|
219
220
221
222
|
# File 'lib/babushka/helpers/log_helpers.rb', line 219
def self.undent!
@indentation_level ||= 0
@indentation_level -= 1
end
|
.write_to_persistent_log(message) ⇒ Object
202
203
204
|
# File 'lib/babushka/helpers/log_helpers.rb', line 202
def self.write_to_persistent_log message
Base.task.persistent_log.write message unless Base.task.persistent_log.nil?
end
|