module Checky::Validators::Verbose

Public Class Methods

build_message(mod, key) click to toggle source
# File lib/checky/validators/verbose.rb, line 24
def build_message(mod, key)
  value = storage.send(key)

  # :nocov:
  message = begin
    mod.message
  rescue NoMethodError
    "Checking #{key} (#{value})"
  end
  # :nocov:
  format_message(message, key)
end
display_message(mod, key) click to toggle source
# File lib/checky/validators/verbose.rb, line 17
def display_message(mod, key)
  result = storage.checky_results[key]
  stream = result ? $stdout : $stderr

  stream.puts("#{build_message(mod, key)} #{result_message(key)}")
end
format_message(message, key) click to toggle source
# File lib/checky/validators/verbose.rb, line 37
def format_message(message, key)
  key_size = key.to_s.size

  "#{message[0..(65 - key_size)].ljust(67 - key_size, '.')}[#{key.capitalize}]"
end
result_message(key) click to toggle source
# File lib/checky/validators/verbose.rb, line 43
def result_message(key)
  pastel = Checky.pastel
  message = storage.checky_results[key] ? 'OK' : 'FAIL'

  return pastel.decorate(message, { 'OK' => :green, 'FAIL' => :red }[message]) if pastel
  message
end

Public Instance Methods

after() click to toggle source

:reek: ManualDispatch

# File lib/checky/validators/verbose.rb, line 6
def after
  storage.to_h.keys.each do |key|
    next if key.to_s.start_with?('checky_')

    mod = Object.const_get("Checky::Validators::#{String(key).classify}")
    next unless mod.respond_to?(:check)

    display_message(mod, key)
  end
end

Private Instance Methods

build_message(mod, key) click to toggle source
# File lib/checky/validators/verbose.rb, line 24
def build_message(mod, key)
  value = storage.send(key)

  # :nocov:
  message = begin
    mod.message
  rescue NoMethodError
    "Checking #{key} (#{value})"
  end
  # :nocov:
  format_message(message, key)
end
display_message(mod, key) click to toggle source
# File lib/checky/validators/verbose.rb, line 17
def display_message(mod, key)
  result = storage.checky_results[key]
  stream = result ? $stdout : $stderr

  stream.puts("#{build_message(mod, key)} #{result_message(key)}")
end
format_message(message, key) click to toggle source
# File lib/checky/validators/verbose.rb, line 37
def format_message(message, key)
  key_size = key.to_s.size

  "#{message[0..(65 - key_size)].ljust(67 - key_size, '.')}[#{key.capitalize}]"
end
result_message(key) click to toggle source
# File lib/checky/validators/verbose.rb, line 43
def result_message(key)
  pastel = Checky.pastel
  message = storage.checky_results[key] ? 'OK' : 'FAIL'

  return pastel.decorate(message, { 'OK' => :green, 'FAIL' => :red }[message]) if pastel
  message
end