module Nib::Heroku

Constants

VERSION

Public Class Methods

applies?() click to toggle source
# File lib/nib_heroku_plugin.rb, line 3
def self.applies?
  true
end

Public Instance Methods

app(env) click to toggle source
# File lib/nib/heroku.rb, line 44
def app(env)
  File.basename(Dir.getwd)
    .split('-')
    .insert(1, short_env_for(env))
    .join('-')
end
logs(service, env:, follow:, num:) click to toggle source
# File lib/nib/heroku.rb, line 20
def logs(service, env:, follow:, num:)
  raise GLI::UnknownCommand if env.to_sym == :dev

  script_parts = [].tap do |parts|
    parts << "heroku logs -a #{app(env)}"
    parts << "-d #{service}"
    parts << '-t'         if follow
    parts << "-n #{num}"  if num
  end

  exec(script_parts.join(' '))
end
shell(args, env:, size:, type:) click to toggle source
# File lib/nib/heroku.rb, line 7
def shell(args, env:, size:, type:)
  Nib::Shell.execute(args) if env.to_sym == :dev

  script_parts = [].tap do |parts|
    parts << "heroku run -a #{app(env)}"
    parts << "-s #{size}" if size
    parts << "-t #{type}" if type
    parts << 'bash'
  end

  exec(script_parts.join(' '))
end
short_env_for(env) click to toggle source
# File lib/nib/heroku.rb, line 33
def short_env_for(env)
  {
    dev: :dev,
    development: :dev,
    stage: :stage,
    staging: :stage,
    prod: :prod,
    production: :prod
  }[env.to_sym]
end