Sha256: 61103b9093a0cd1f3a356c973a28362118656be88ff3eb04923377b7f43192f3
Contents?: true
Size: 1.87 KB
Versions: 3
Compression:
Stored size: 1.87 KB
Contents
module Foreplay class Engine class Server include Foreplay::Engine::Port attr_reader :environment, :mode, :instructions, :server def initialize(e, m, i, s) @environment = e @mode = m @instructions = i @server = s end def execute execute_announce foreman env Foreplay::Engine::Remote.new(server, steps, instructions).__send__ mode end def execute_announce preposition = mode == :deploy ? 'to' : 'for' puts "#{mode.capitalize}ing #{name.yellow} #{preposition} #{host.yellow} "\ "for the #{role.dup.yellow} role in the #{environment.dup.yellow} environment" end def foreman instructions['foreman'] = {} unless instructions.key? 'foreman' instructions['foreman'].merge!( 'app' => current_service, 'port' => current_port, 'user' => user, 'log' => "$HOME/#{path}/#{current_port}/log" ) end def env instructions['env'] = {} unless instructions.key? 'env' instructions['env'].merge!( 'HOME' => '$HOME', 'SHELL' => '$SHELL', 'PATH' => '$PATH:`which bundle`', 'GEM_HOME' => '$HOME/.rvm/gems/`rvm tools identifier`', 'RAILS_ENV' => environment ) end def role @role ||= instructions['role'] end def user @user ||= instructions['user'] end def path return @path if @path @path = instructions['path'] @path.gsub! '%u', user @path.gsub! '%a', name @path end def steps @steps ||= YAML.load( ERB.new( File.read( "#{File.dirname(__FILE__)}/steps.yml" ) ).result(binding) ) end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
foreplay-0.10.3 | lib/foreplay/engine/server.rb |
foreplay-0.10.2 | lib/foreplay/engine/server.rb |
foreplay-0.10.1 | lib/foreplay/engine/server.rb |