class Capistrano::Container::Manager
Public Class Methods
new()
click to toggle source
# File lib/capistrano/container/manager.rb, line 8 def initialize() @container = {} end
Public Instance Methods
add(name, config)
click to toggle source
# File lib/capistrano/container/manager.rb, line 12 def add(name, config) @container[name.to_sym] = container = Instance.new(name, config) config[:server].map!{ |ip| server(ip) } config[:server].each do |server| server.add_roles [:container_host, container.container_role] end self.create_container_tasks(container) container end
by_id(id)
click to toggle source
# File lib/capistrano/container/manager.rb, line 30 def by_id(id) @container.each do |name, instance| return instance if instance.container_id == id end end
by_name(name)
click to toggle source
# File lib/capistrano/container/manager.rb, line 26 def by_name(name) @container[name.to_sym] end
by_roles(roles)
click to toggle source
# File lib/capistrano/container/manager.rb, line 36 def by_roles(roles) roles = Array(roles) return @container.values if roles.include? :all tmp = {} roles.each do |role| @container.each do |name, instance| tmp[name] = instance if instance.has_role? role end end tmp.values end
create_container_tasks(container)
click to toggle source
# File lib/capistrano/container/manager.rb, line 50 def create_container_tasks(container) namespace :container do namespace container.name do Mixins.define_tasks(container) end end end