Class: Escualo::Session::Docker

Inherits:
Escualo::Session show all
Defined in:
lib/escualo/session/docker_session.rb

Instance Attribute Summary collapse

Attributes inherited from Escualo::Session

#options

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Escualo::Session

#check?, #initialize, parse_session_options, set_command, #tell_all!, #upload_template!, within, within_dockerized_session, within_ssh_session

Constructor Details

This class inherits a constructor from Escualo::Session

Instance Attribute Details

#dockerfileObject

Returns the value of attribute dockerfile.



2
3
4
# File 'lib/escualo/session/docker_session.rb', line 2

def dockerfile
  @dockerfile
end

Class Method Details

.started(options = struct) ⇒ Object



50
51
52
53
54
# File 'lib/escualo/session/docker_session.rb', line 50

def self.started(options = struct)
  new.tap do |it|
    it.start!(options)
  end
end

Instance Method Details

#askObject



38
39
40
# File 'lib/escualo/session/docker_session.rb', line 38

def ask(*)
  raise 'can not ask on a docker session'
end

#clean_environment_variables!Object



9
10
11
12
# File 'lib/escualo/session/docker_session.rb', line 9

def clean_environment_variables!(*)
  raise 'can not clean variables on dockerfile optimized mode' unless options.unoptimized_dockerfile
  super
end

#finish!(_options) ⇒ Object



46
47
48
# File 'lib/escualo/session/docker_session.rb', line 46

def finish!(_options)
  puts dockerfile
end

#set_environment_variables!(variables) ⇒ Object



18
19
20
21
22
23
# File 'lib/escualo/session/docker_session.rb', line 18

def set_environment_variables!(variables)
  return super if options.unoptimized_dockerfile
  variables.each do |key, value|
    dockerfile << "ENV #{key} #{value}\n"
  end
end

#setup_environment_variables!Object



14
15
16
# File 'lib/escualo/session/docker_session.rb', line 14

def setup_environment_variables!
  super if options.unoptimized_dockerfile
end

#start!(_options) ⇒ Object



42
43
44
# File 'lib/escualo/session/docker_session.rb', line 42

def start!(_options)
  @dockerfile = ''
end

#tell!(command) ⇒ Object



25
26
27
# File 'lib/escualo/session/docker_session.rb', line 25

def tell!(command)
  dockerfile << "RUN #{command}\n"
end

#unset_environment_variables!Object



4
5
6
7
# File 'lib/escualo/session/docker_session.rb', line 4

def unset_environment_variables!(*)
  raise 'can not unset variables on dockerfile optimized mode' unless options.unoptimized_dockerfile
  super
end

#upload!(file, destination) ⇒ Object



29
30
31
# File 'lib/escualo/session/docker_session.rb', line 29

def upload!(file, destination)
  dockerfile << "COPY #{file} #{destination}\n"
end

#write_template!(name, template, &block) ⇒ Object



33
34
35
36
# File 'lib/escualo/session/docker_session.rb', line 33

def write_template!(name, template, &block)
  template.write! name
  block.call name
end