Module: Extface::DevicesHelper

Defined in:
app/helpers/extface/devices_helper.rb

Instance Method Summary collapse

Instance Method Details

#options_for_driversObject



12
13
14
15
16
17
18
19
# File 'app/helpers/extface/devices_helper.rb', line 12

def options_for_drivers
  Extface::Engine.eager_load!
  {}.tap do |drivers|
    Extface::DriverBase.subclasses.collect{ |type|
      drivers[type::GROUP] = subdrivers(Array.new, type)
    }
  end
end

#subdrivers(options, object) ⇒ Object



4
5
6
7
8
9
10
# File 'app/helpers/extface/devices_helper.rb', line 4

def subdrivers(options, object)
  object.subclasses.each do |s|
    options << [s::NAME, s.name]
    subdrivers(options, s) if s.subclasses.any?
  end
  return options
end