Class: Manager
- Inherits:
-
Object
- Object
- Manager
- Includes:
- Rake::DSL
- Defined in:
- lib/capistrano/container/manager.rb
Instance Method Summary collapse
- #add(name, config) ⇒ Object
- #by_id(id) ⇒ Object
- #by_name(name) ⇒ Object
- #by_roles(roles) ⇒ Object
- #create_container_tasks(container) ⇒ Object
-
#initialize ⇒ Manager
constructor
A new instance of Manager.
Constructor Details
#initialize ⇒ Manager
Returns a new instance of Manager.
6 7 8 |
# File 'lib/capistrano/container/manager.rb', line 6 def initialize() @container = {} end |
Instance Method Details
#add(name, config) ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/capistrano/container/manager.rb', line 10 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) ⇒ Object
28 29 30 31 32 |
# File 'lib/capistrano/container/manager.rb', line 28 def by_id(id) @container.each do |name, instance| return instance if instance.container_id == id end end |
#by_name(name) ⇒ Object
24 25 26 |
# File 'lib/capistrano/container/manager.rb', line 24 def by_name(name) @container[name.to_sym] end |
#by_roles(roles) ⇒ Object
34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/capistrano/container/manager.rb', line 34 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) ⇒ Object
48 49 50 51 52 53 54 |
# File 'lib/capistrano/container/manager.rb', line 48 def create_container_tasks(container) namespace :container do namespace container.name do Mixins.define_tasks(container) end end end |