Sha256: 6483d792641808a635a75d312b52abc727530115e21d15226b4d802688c9f8be

Contents?: true

Size: 1.09 KB

Versions: 1

Compression:

Stored size: 1.09 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
	
	def self.logger
	  @logger ||= self.configure_logger_for(self.name)
	end

    def self.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

buildpacker = Buildpacker.new
buildpacker.pack

Version data entries

1 entries across 1 versions & 1 rubygems

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