Sha256: b36d229e3a13def4ff660d6c580f6febe76beea6bc64a8f1e71211875a5a8fe7

Contents?: true

Size: 906 Bytes

Versions: 5

Compression:

Stored size: 906 Bytes

Contents

#!/usr/bin/env ruby
# WANT_JSON

# init bundler in dev env
if ENV['QB_DEV_ENV']
  ENV.each {|k, v|
    if k.start_with? 'QB_DEV_ENV_'
      ENV[k.sub('QB_DEV_ENV_', '')] = v
    end
  }
  require 'bundler/setup'
end

require 'qb'
require 'cmds'

class Stream < QB::Ansible::Module
  def main
    template = @args['template'] || @args['cmd']
    
    if template.nil?
      raise ArgumentError,
            "Must supply `template` or `cmd` argument."
    end
    
    opts = {}
    
    [:args, :kwds, :input, :assert, :env, :chdir].each { |key|
      opts[key] = @args[key.to_s] if @args.key?(key.to_s)
    }
    
    [:format, :env_mode].each { |key|
      opts[key] = @args[key].to_sym if @args.key?(key.to_s)
    }
    
    cmd = Cmds.new(template, **opts)
    
    if @args['log']
      info "STREAMING #{ cmd.prepare.inspect }"
    end
    
    cmd.stream!
    
    changed!
  end
end

Stream.new.run

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
qb-0.3.8 library/stream
qb-0.3.7 library/stream
qb-0.3.6 library/stream
qb-0.3.5 library/stream
qb-0.3.4 library/stream