Class: Jisota::ScriptBlock::DSL

Inherits:
DSLBase
  • Object
show all
Defined in:
lib/jisota/script_block.rb

Instance Method Summary collapse

Methods inherited from DSLBase

#evaluate

Constructor Details

#initialize(script, context) ⇒ DSL

Returns a new instance of DSL.



26
27
28
29
# File 'lib/jisota/script_block.rb', line 26

def initialize(script, context)
  @script = script
  @context = context
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(method, *args, &block) ⇒ Object



39
40
41
42
43
44
45
# File 'lib/jisota/script_block.rb', line 39

def method_missing(method, *args, &block)
  if has_argument?(method)
    get_argument(method)
  else
    add_package_script(method, args) || super
  end
end

Instance Method Details

#cmd(command) ⇒ Object



31
32
33
# File 'lib/jisota/script_block.rb', line 31

def cmd(command)
  @script.scripts << CommandScript.new(command)
end

#upload(**options, &block) ⇒ Object



35
36
37
# File 'lib/jisota/script_block.rb', line 35

def upload(**options, &block)
  @script.scripts << FileScript.new(**options, &block)
end