Sha256: d521f0ac1ec00609c717523d12fd865aef48d7494c0075bb1d890e53f119e1eb

Contents?: true

Size: 1.11 KB

Versions: 1

Compression:

Stored size: 1.11 KB

Contents

require "logger"

class Buildpacker
	def initialize		
	end
	
	def pack
		pack_rails if File.exist? "bin/rails"
		logger.info "Could not continue ... Launch Failed."
	end

	def pack_rails
		# Remove server.pid if it exists
		FileUtils.rm("tmp/pids/server.pid") if File.exist? "tmp/pids/server.pid"

		logger.info "Performing bundle install ..."
		if system("bundle install --deployment --clean")
			logger.info "Installing Javascript Dependencies & Pre-compiling Assets ..."
			if system("bundle exec rails assets:precompile", out: File::NULL)
				logger.debug "Starting Server ..."
				if system("god -c Godfile -D")
					logger.info "Launched Application ... Success."
				end
				# exit 0
			end
		end
	end

	class << base
		def logger
		  @logger ||= self.configure_logger_for(self.name)
		end

	    def configure_logger_for(classname)
			logger = ::Logger.new($stdout)
			logger.level = ::Logger::DEBUG
			logger.formatter = proc do |severity, datetime, progname, message|
			  "\t\t\t-----> #{severity}: #{message}\n"
			end
			logger.progname = classname
			logger
	    end
	end	
end

buildpacker = Buildpacker.new
buildpacker.pack

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
smartcloud-0.0.159 lib/smartcloud/grids/grid-runner/buildpacks/buildpacker.rb