class DirtySeed::Logger

Represents an Active Record model

Attributes

verbose[RW]

Public Instance Methods

abort() click to toggle source

Outputs an abort message @return [void]

# File lib/dirty_seed/logger.rb, line 45
def abort
  verbose && print("\e[31m | too many errors -> abort\e[0m")
end
clean(message) click to toggle source

Cleans the message before output (remove linebreak and truncate) @param message [String] @return string

# File lib/dirty_seed/logger.rb, line 25
def clean(message)
  base = message.tr("\n", "\t")
  # #truncate is defined in ActiveSupport and then could be undefined
  base.respond_to?(:truncate) ? base.truncate(150) : base.slice(150)
end
failure() click to toggle source

Outputs a fail message @return [void]

# File lib/dirty_seed/logger.rb, line 39
def failure
  verbose && print("\e[31mx\e[0m")
end
seed_model_message(model) click to toggle source

Outputs before seeding a model @param model [DirtySeed::Model] @return [void]

# File lib/dirty_seed/logger.rb, line 14
def seed_model_message(model)
  return unless verbose

  puts('')
  puts("Seeding #{model.name.underscore.pluralize}")
  print('> ')
end
success() click to toggle source

Outputs a success message @return [void]

# File lib/dirty_seed/logger.rb, line 33
def success
  verbose && print("\e[32m.\e[0m")
end
summary(seeders) click to toggle source

Outputs seeder data @return [void]

# File lib/dirty_seed/logger.rb, line 51
def summary(seeders)
  return unless verbose

  puts ''
  seeders.each do |seeder|
    puts seeder.model.name
    puts "  \e[32mseeded: #{seeder.records.count}\e[0m"
    puts "  \e[31merrors: #{seeder.errors.join(', ')}\e[0m" if seeder.errors.any?
  end
end