Module: Nib::Heroku

Defined in:
lib/nib/heroku.rb,
lib/nib_heroku_plugin.rb,
lib/nib/heroku/version.rb

Constant Summary collapse

VERSION =
'0.1.0'.freeze

Class Method Summary collapse

Class Method Details

.app(env) ⇒ Object



44
45
46
47
48
49
# File 'lib/nib/heroku.rb', line 44

def app(env)
  File.basename(Dir.getwd)
    .split('-')
    .insert(1, short_env_for(env))
    .join('-')
end

.applies?Boolean

Returns:

  • (Boolean)


3
4
5
# File 'lib/nib_heroku_plugin.rb', line 3

def self.applies?
  true
end

.logs(service, env:, follow:, num:) ⇒ Object

Raises:

  • (GLI::UnknownCommand)


20
21
22
23
24
25
26
27
28
29
30
31
# 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:) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
# 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) ⇒ Object



33
34
35
36
37
38
39
40
41
42
# 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