class Kuroko2::Workflow::Task::Env
Public Instance Methods
execute()
click to toggle source
# File lib/autoload/kuroko2/workflow/task/env.rb, line 6 def execute if option env = token.context['ENV'] || {} env.merge!(parse_option(option)) token.context['ENV'] = env end :next end
validate()
click to toggle source
# File lib/autoload/kuroko2/workflow/task/env.rb, line 17 def validate parse_option(option) end
Private Instance Methods
parse_option(option)
click to toggle source
# File lib/autoload/kuroko2/workflow/task/env.rb, line 22 def parse_option(option) env = {} scanner = StringScanner.new(option) until scanner.eos? case when scanner.scan(/(\w+)="((?:\\"|.)*?)"/) env[scanner[1]] = scanner[2].gsub(/\\"/, '"') when scanner.scan(/(\w+)='((?:\\'|.)*?)'/) env[scanner[1]] = scanner[2].gsub(/\\'/, "'") when scanner.scan(/(\w+)=(\S+)/) env[scanner[1]] = scanner[2] when scanner.scan(/\s+/) else raise Workflow::AssertionError, "Syntax error option value of env: #{option}" end end env end