class Hive::Controller

Generic hive controller class

Attributes

port_range_size[R]

Public Class Methods

new(config = {}) click to toggle source
# File lib/hive/controller.rb, line 14
def initialize(config = {})
  @config = config
  @device_class = self.class.to_s.sub('Controller', 'Device')
  require @device_class.downcase.gsub(/::/, '/')
  Hive.logger.info("Controller '#{self.class}' created")
  @port_range_size = (@config.has_key?('port_range_size') ? @config['port_range_size'] : 0)
end

Public Instance Methods

create_device(extra_options = {}) click to toggle source
# File lib/hive/controller.rb, line 22
def create_device(extra_options = {})
  object = Object
  @device_class.split('::').each { |sub| object = object.const_get(sub) }
  object.new(@config.merge(extra_options))
end
detect() click to toggle source
# File lib/hive/controller.rb, line 28
def detect
  raise NotImplementedError, "'detect' method not defined for '#{self.class}'"
end