Method: Kontena::Cli::Stacks::StackName#initialize

Defined in:
lib/kontena/cli/stacks/stack_name.rb

#initialize(definition = nil, version = nil) ⇒ StackName

Examples:

name = StackName.new('kontena/foo:0.1.0')
name.user => 'kontena'
name.stack => 'foo'
name.version => '0.1.0'
name.stack_name => 'kontena/foo'
name.to_s => 'kontena/foo:0.1.0

Parameters:

  • definition (String) (defaults to: nil)

    such as kontena/foo:1.0.0

  • version (String) (defaults to: nil)

    set version separately



19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/kontena/cli/stacks/stack_name.rb', line 19

def initialize(definition = nil, version = nil)
  if definition.kind_of?(Hash)
    @user = definition[:user] || definition['user']
    @stack = definition[:stack] || definition['stack']
    @version = definition[:version] || definition['version'] || version
  elsif definition.kind_of?(String)
    parsed = parse(definition)
    @user = parsed[:user]
    @stack = parsed[:stack]
    @version = parsed[:version] || version
  end
end