Sha256: 788cf7cbeda1d2603a30f77da23ef58cd2096bd85249d80c5b48aa21779c4eca
Contents?: true
Size: 1.01 KB
Versions: 35
Compression:
Stored size: 1.01 KB
Contents
# frozen_string_literal: true module Bolt class PAL class YamlPlan class Step class Script < Step def self.allowed_keys super + Set['script', 'parameters', 'arguments'] end def self.required_keys Set['target'] end def initialize(step_body) super @script = step_body['script'] @parameters = step_body.fetch('parameters', {}) @arguments = step_body.fetch('arguments', []) end def transpile code = String.new(" ") code << "$#{@name} = " if @name options = @parameters.dup options['arguments'] = @arguments unless @arguments.empty? fn = 'run_script' args = [@script, @target] args << @description if @description args << options unless options.empty? code << function_call(fn, args) code << "\n" end end end end end end
Version data entries
35 entries across 35 versions & 1 rubygems