Class: KuberKit::Core::ServiceDefinition

Inherits:
Object
  • Object
show all
Defined in:
lib/kuber_kit/core/service_definition.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(service_name) ⇒ ServiceDefinition

Returns a new instance of ServiceDefinition.



5
6
7
8
# File 'lib/kuber_kit/core/service_definition.rb', line 5

def initialize(service_name)
  @service_name = service_name.to_sym
  @initializers = []
end

Instance Attribute Details

#dependenciesObject (readonly)

Returns the value of attribute dependencies.



2
3
4
# File 'lib/kuber_kit/core/service_definition.rb', line 2

def dependencies
  @dependencies
end

#initializersObject (readonly)

Returns the value of attribute initializers.



2
3
4
# File 'lib/kuber_kit/core/service_definition.rb', line 2

def initializers
  @initializers
end

#service_nameObject (readonly)

Returns the value of attribute service_name.



2
3
4
# File 'lib/kuber_kit/core/service_definition.rb', line 2

def service_name
  @service_name
end

#template_nameObject (readonly)

Returns the value of attribute template_name.



2
3
4
# File 'lib/kuber_kit/core/service_definition.rb', line 2

def template_name
  @template_name
end

Instance Method Details

#attributes(value = nil, &block) ⇒ Object



51
52
53
54
55
# File 'lib/kuber_kit/core/service_definition.rb', line 51

def attributes(value = nil, &block)
  @attributes = block_given? ? block : value

  self
end

#depends_on(*value, &block) ⇒ Object



23
24
25
26
# File 'lib/kuber_kit/core/service_definition.rb', line 23

def depends_on(*value, &block)
  initialize_with(value)
  self
end

#deployer_strategy(value = nil, &block) ⇒ Object



57
58
59
60
61
# File 'lib/kuber_kit/core/service_definition.rb', line 57

def deployer_strategy(value = nil, &block)
  @deployer_strategy = block_given? ? block : value

  self
end

#generator_strategy(value = nil, &block) ⇒ Object



63
64
65
66
67
# File 'lib/kuber_kit/core/service_definition.rb', line 63

def generator_strategy(value = nil, &block)
  @generator_strategy = block_given? ? block : value

  self
end

#images(*value, &block) ⇒ Object



45
46
47
48
49
# File 'lib/kuber_kit/core/service_definition.rb', line 45

def images(*value, &block)
  @images = block_given? ? block : Array(value).flatten

  self
end

#initialize_with(*value, &block) ⇒ Object



28
29
30
31
# File 'lib/kuber_kit/core/service_definition.rb', line 28

def initialize_with(*value, &block)
  @initializers = Array(value).flatten
  self
end

#tags(*value, &block) ⇒ Object



39
40
41
42
43
# File 'lib/kuber_kit/core/service_definition.rb', line 39

def tags(*value, &block)
  @tags = block_given? ? block : Array(value).flatten

  self
end

#template(value = nil, &block) ⇒ Object



33
34
35
36
37
# File 'lib/kuber_kit/core/service_definition.rb', line 33

def template(value = nil, &block)
  @template_name = block_given? ? block : value

  self
end

#to_service_attrsObject



10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/kuber_kit/core/service_definition.rb', line 10

def to_service_attrs
  OpenStruct.new(
    name:               @service_name,
    initializers:       @initializers,
    template_name:      get_value(@template_name),
    tags:               Array(get_value(@tags)).map(&:to_sym),
    images:             Array(get_value(@images)).map(&:to_sym),
    attributes:         get_value(@attributes),
    deployer_strategy:  get_value(@deployer_strategy),
    generator_strategy: get_value(@generator_strategy),
  )
end