Sha256: 9613588201e096f73ed0b2ec1018c06a25738f28988075bb7f096b2475a75faf

Contents?: true

Size: 1.38 KB

Versions: 3

Compression:

Stored size: 1.38 KB

Contents

module ReadmeDSL
  def goto(host = :localhost, args = {})
    unless host == :localhost
      b = {}
      a = "#{host}_ip".to_sym
      if @config[:global][a].nil? && !@setted_params.include?(a)
        @cases_params << a
      end
      b[:ip] = @config[:global][a] if @config[:global][a]
      b[:ip] = @setted_params[a] if @setted_params[a]

      a = "#{host}_username".to_sym
      if @config[:global][a].nil? && !@setted_params.include?(a)
        @cases_params << a
      end
      b[:username] = @config[:global][a] if @config[:global][a]
      b[:username] = @setted_params[a] if @setted_params[a]

      a = "#{host}_password".to_sym
      if @config[:global][a].nil? && !@setted_params.include?(a)
        @cases_params << a
      end
      b[:password] = @config[:global][a] if @config[:global][a]
      b[:password] = @setted_params[a] if @setted_params[a]

      @required_hosts[host.to_s] = b
    end
    @action[:host] = host
    @action[:exec] = args[:exec] || "noexec"
  end

  def run(command, args = {})
    args[:exec] = command
    host = :localhost
    host = args[:on] if args[:on]
    goto(host, args)
  end

  def run_script(command, args = {})
    host = :localhost
    host = args[:on] if args[:on]
    filename = command.split[1]
    upload filename, on: host
    run command, args = {}
    goto(host, args)
  end

  def upload(filename, args = {})
    # Nothing to do
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
teuton-2.9.2 lib/teuton/readme/dsl/run.rb
teuton-2.9.1 lib/teuton/readme/dsl/run.rb
teuton-2.9.0 lib/teuton/readme/dsl/run.rb