class Jisota::ScriptBlock::DSL

Public Class Methods

new(script, context) click to toggle source
# File lib/jisota/script_block.rb, line 26
def initialize(script, context)
  @script = script
  @context = context
end

Public Instance Methods

cmd(command) click to toggle source
# File lib/jisota/script_block.rb, line 31
def cmd(command)
  @script.scripts << CommandScript.new(command)
end
method_missing(method, *args, &block) click to toggle source
Calls superclass method Jisota::DSLBase#method_missing
# 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
upload(**options, &block) click to toggle source
# File lib/jisota/script_block.rb, line 35
def upload(**options, &block)
  @script.scripts << FileScript.new(**options, &block)
end

Private Instance Methods

add_package_script(name, args) click to toggle source
# File lib/jisota/script_block.rb, line 57
def add_package_script(name, args)
  if @context.packages.has_key?(name)
    package = @context.packages[name]
    @script.scripts << PackageScript.new(package, args)
  end
end
get_argument(name) click to toggle source
# File lib/jisota/script_block.rb, line 53
def get_argument(name)
  @context.params.fetch(name)
end
has_argument?(name) click to toggle source
# File lib/jisota/script_block.rb, line 49
def has_argument?(name)
  @context.params.has_key?(name)
end