module OutputHelpers
Public Instance Methods
format_error(expected_data, actual_result)
click to toggle source
# File lib/squcumber-redshift/support/output.rb, line 19 def format_error(expected_data, actual_result) expectation_count = (expected_data.rows.count rescue nil) || 0 if expectation_count == 0 table_headings = actual_result[0].keys else table_headings = expected_data.hashes[0].keys end print_data = Hash[table_headings.map { |key| [key, key.length] }] actual_result.each do |row| row.each do |key, value| print_data[key] = value.length if (value.to_s.length > print_data[key].to_i) end end error = '| ' + table_headings.map { |k| k.ljust(print_data[k], ' ') }.join(' | ') + " |\n" error << actual_result.map do |row| '| ' + table_headings.map { |k| (row[k] || '').ljust(print_data[k], ' ') }.join(' | ') + ' |' end.join("\n") + "\n" error end
silence_streams(*streams) { || ... }
click to toggle source
# File lib/squcumber-redshift/support/output.rb, line 2 def silence_streams(*streams) unless ENV['SHOW_STDOUT'].to_i == 1 begin on_hold = streams.collect { |stream| stream.dup } streams.each do |stream| stream.reopen('/dev/null') stream.sync = true end yield ensure streams.each_with_index do |stream, i| stream.reopen(on_hold[i]) end end end end