class Docker::Rails::Server
Public Class Methods
existing_server(path)
click to toggle source
# File lib/docker/rails/server.rb, line 46 def self.existing_server(path) server = Rails.find_server(path) return server if server && server.up? server.remove! if server nil end
load(id, path)
click to toggle source
# File lib/docker/rails/server.rb, line 30 def self.load(id, path) server = new(id) Docker::Rails.add_default_instructions_to(server, path) end
load_from(container)
click to toggle source
# File lib/docker/rails/server.rb, line 26 def self.load_from(container) load(container.id, container.path) end
migrate_database!(path, postgres)
click to toggle source
# File lib/docker/rails/server.rb, line 35 def self.migrate_database!(path, postgres) ['create', 'migrate'].each do |cmd| Docker.run( "#{rails_image(path.name)}", "--rm --link db:db -e PG_HOST=#{postgres.ip} " + "-v #{path}:/usr/src/app", "rake db:#{cmd}" ) end end
new(id)
click to toggle source
Calls superclass method
Docker::Container::new
# File lib/docker/rails/server.rb, line 7 def initialize(id) super end
run(path, postgres, options = "")
click to toggle source
Calls superclass method
Docker::Container::run
# File lib/docker/rails/server.rb, line 11 def self.run(path, postgres, options = "") server = existing_server(path) return server if server migrate_database!(path, postgres) server = super( "#{rails_image(path.name)}", options + " -d --name #{rails_server(path.name)} --link db:db " + "-e PG_HOST=#{postgres.ip} -v #{path}:/usr/src/app", nil, path ) self.load(server.id, path) end