Module: Bits::ExternalInterface::ClassMethods

Defined in:
lib/bits/external_interface.rb

Instance Method Summary collapse

Instance Method Details

#interfacesObject

access global interface cache for class methods.



111
112
113
# File 'lib/bits/external_interface.rb', line 111

def interfaces
  ExternalInterface.interfaces
end

#setup_interface(id, params = {}) ⇒ Object

Spawn an interface that is shared between all users.



116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
# File 'lib/bits/external_interface.rb', line 116

def setup_interface(id, params = {})
  capabilities = params[:capabilities] || []

  interface = spawn_interface id

  if interface.nil?
    log.debug "Interface '#{id}' not available"
    return false
  end

  missing_capabilities = capabilities - interface.capabilities

  unless missing_capabilities.empty?
    missing_s = missing_capabilities.join ', '
    log.debug "Interface '#{id}' is available, but is missing capabilities: #{missing_s}"
    return false
  end

  has_s = capabilities.join ', '
  log.debug "Interface '#{id}' is available with capabilities: #{has_s}"
  return true
end