module Curl::Spawn

Constants

EXAMPLE
EXAMPLE_SCRIPT
VERSION

Public Class Methods

build_args(&block) click to toggle source
# File lib/curl/spawn.rb, line 8
def self.build_args(&block)
  builder = ArgsBuilder.new
  builder.instance_eval(&block) if block
  builder.build!
end
merge_args(supplied_argv, built_args) click to toggle source
# File lib/curl/spawn.rb, line 14
def self.merge_args(supplied_argv, built_args)
  normalized_argv = []

  supplied_opt = supplied_argv.last.kind_of?(Hash) ? supplied_argv.pop : {}
  supplied_env = supplied_argv.first.kind_of?(Hash) ? supplied_argv.shift : {}

  # Merge the argv contents
  built_args.argv.each do |arg|
    normalized_argv.push(arg.to_s)
  end

  supplied_argv.each do |arg|
    normalized_argv.push(arg.to_s)
  end

  # Merge the spawn options hash argument
  normalized_argv.push(supplied_opt.merge(built_args.opt))

  # Merge the env options hash argument
  normalized_argv.unshift(supplied_env.merge(built_args.env))

  normalized_argv
end