Class: Subspace::Commands::Base

Inherits:
Commander::Command
  • Object
show all
Includes:
Ansible
Defined in:
lib/subspace/commands/base.rb

Direct Known Subclasses

Bootstrap, Configure, Init, Override, Provision, Ssh, Vars

Instance Method Summary collapse

Methods included from Ansible

#ansible_command

Instance Method Details

#copy(src, dest = nil) ⇒ Object



29
30
31
32
# File 'lib/subspace/commands/base.rb', line 29

def copy(src, dest = nil)
  dest ||= src
  FileUtils.cp File.join(template_dir, src), File.join(dest_dir, dest)
end

#dest_dirObject



19
20
21
# File 'lib/subspace/commands/base.rb', line 19

def dest_dir
  "config/provision"
end

#gem_pathObject



15
16
17
# File 'lib/subspace/commands/base.rb', line 15

def gem_path
  File.expand_path '../../../..', __FILE__
end

#require_configurationObject



7
8
9
# File 'lib/subspace/commands/base.rb', line 7

def require_configuration
  load "config/provision.rb"
end

#template(src, dest = nil, render_binding = nil) ⇒ Object



23
24
25
26
27
# File 'lib/subspace/commands/base.rb', line 23

def template(src, dest = nil, render_binding = nil)
  dest ||= src
  template = ERB.new File.read(File.join(template_dir, "#{src}.erb")), nil, '-'
  File.write File.join(dest_dir, dest), template.result(render_binding || binding)
end

#template_dirObject



11
12
13
# File 'lib/subspace/commands/base.rb', line 11

def template_dir
  File.join(gem_path, 'template', 'provision')
end