Class: CastCaster::Deploy::Swarm

Inherits:
Object
  • Object
show all
Includes:
FFmpegServices
Defined in:
lib/castcaster/deploy/swarm.rb

Instance Method Summary collapse

Methods included from FFmpegServices

#build_ffmpeg_services

Constructor Details

#initialize(engine, channels, cfg) ⇒ Swarm

Returns a new instance of Swarm.



6
7
8
9
10
# File 'lib/castcaster/deploy/swarm.rb', line 6

def initialize(engine, channels, cfg)
  @engine = engine
  @channels = channels
  @cfg = cfg
end

Instance Method Details

#compose_fileObject



18
19
20
# File 'lib/castcaster/deploy/swarm.rb', line 18

def compose_file
  File.join(deploy_dir, 'docker-stack.yml')
end

#deploy_dirObject



22
23
24
# File 'lib/castcaster/deploy/swarm.rb', line 22

def deploy_dir
  @cfg.fetch('project_dir', Dir.pwd)
end

#writeObject



12
13
14
15
16
# File 'lib/castcaster/deploy/swarm.rb', line 12

def write
  FileUtils.mkdir_p(deploy_dir)
  File.write(compose_file, render)
  compose_file
end