Class: Blue::Box

Inherits:
AbstractManifest show all
Includes:
Apt, Ntpd, Template
Defined in:
lib/blue/box.rb

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Apt

#apt, included

Methods included from Ntpd

included, #ntpd

Methods included from Template

included, #template

Methods inherited from AbstractManifest

__config__, hostname, recipes

Class Method Details

.add_role(role) ⇒ Object



16
17
18
19
# File 'lib/blue/box.rb', line 16

def self.add_role(role)
  roles << role
  true
end

.import(plugin) ⇒ Object



29
30
31
32
33
34
35
# File 'lib/blue/box.rb', line 29

def self.import(plugin)
  require "blue/#{plugin}"

  module_name = "Blue::#{plugin.to_s.split('/').map(&:titlecase).join('::')}".constantize
  puts "including #{module_name}"
  self.send :include, module_name
end

.inherited(klass) ⇒ Object



11
12
13
14
# File 'lib/blue/box.rb', line 11

def self.inherited(klass)
  Blue.register_box(klass)
  klass.add_role(:ruby)
end

.rolesObject



21
22
23
# File 'lib/blue/box.rb', line 21

def self.roles
  @roles ||= Set.new
end

Instance Method Details

#rolesObject



25
26
27
# File 'lib/blue/box.rb', line 25

def roles
  self.class.roles
end