class Devpack::Messages

Generates output messages.

Public Class Methods

failure(name, error_message) click to toggle source
# File lib/devpack/messages.rb, line 7
def failure(name, error_message)
  base = "Failed to load `#{name}`"
  "#{base}. #{error_message}"
end
initializer_failure(path, error_message) click to toggle source
# File lib/devpack/messages.rb, line 12
def initializer_failure(path, error_message)
  "Failed to load initializer `#{path}`: #{error_message}"
end
install_missing(missing) click to toggle source
# File lib/devpack/messages.rb, line 28
def install_missing(missing)
  gems = missing.map do |spec|
    spec[:version].nil? ? spec[:name] : "#{spec[:name]}==#{spec[:version]}"
  end

  "Install #{missing.size} missing gem(s): #{command(gems)}"
end
loaded(path, gems, time) click to toggle source
# File lib/devpack/messages.rb, line 16
def loaded(path, gems, time)
  already_loaded = gems.size - gems.reject { |_, loaded| loaded }.size
  base = "Loaded #{already_loaded} development gem(s) from '#{path}' in #{time} seconds"
  return "#{base}." if already_loaded == gems.size

  "#{base} (#{gems.size - already_loaded} gem(s) were already loaded by environment)."
end
loaded_initializers(path, initializers, time) click to toggle source
# File lib/devpack/messages.rb, line 24
def loaded_initializers(path, initializers, time)
  "Loaded #{initializers.compact.size} initializer(s) from '#{path}' in #{time} seconds"
end

Private Class Methods

command(gems) click to toggle source
# File lib/devpack/messages.rb, line 42
def command(gems)
  "bundle exec gem install #{gems.join(' ')}"
end
indented(message) click to toggle source
# File lib/devpack/messages.rb, line 38
def indented(message)
  message.split("\n").map { |line| "  #{line}" }.join("\n")
end