Class: KuberKit::Core::ContextHelper::ContextVars

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(context_vars, parent_name = nil, parent = nil) ⇒ ContextVars

Returns a new instance of ContextVars.



4
5
6
7
8
# File 'lib/kuber_kit/core/context_helper/context_vars.rb', line 4

def initialize(context_vars, parent_name = nil, parent = nil)
  @context_vars = context_vars
  @parent_name  = parent_name
  @parent = parent
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(name, *args) ⇒ Object



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/kuber_kit/core/context_helper/context_vars.rb', line 10

def method_missing(name, *args)
  if args.size > 0
    raise ArgumentError.new("context args does not accept any arguments")
  end

  value = @context_vars.fetch(name) do
    raise(KuberKit::Error, "build arg '#{format_arg(name)}' is not defined, available args: #{@context_vars.inspect}")
  end

  if value.is_a?(Hash)
    return self.class.new(value, name, self)
  end

  value
end

Instance Attribute Details

#parentObject (readonly)

Returns the value of attribute parent.



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

def parent
  @parent
end

#parent_nameObject (readonly)

Returns the value of attribute parent_name.



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

def parent_name
  @parent_name
end