class Radar::App::AnalyzerController
Public Class Methods
<<(analyzer_class)
click to toggle source
# File lib/radar/app/analyzer_controller.rb, line 17 def self.<<(analyzer_class) registry[analyzer_class.new.config.id] = analyzer_class.name end
new()
click to toggle source
# File lib/radar/app/analyzer_controller.rb, line 9 def initialize @sessions = {} end
Protected Class Methods
registry()
click to toggle source
# File lib/radar/app/analyzer_controller.rb, line 46 def self.registry (@@registry ||= {}) end
Public Instance Methods
analyzers()
click to toggle source
# File lib/radar/app/analyzer_controller.rb, line 13 def analyzers registry.values.map { |analyzer_class| Object.const_get(analyzer_class).new.config } end
create_session(session_id, analyzer_id)
click to toggle source
# File lib/radar/app/analyzer_controller.rb, line 21 def create_session(session_id, analyzer_id) analyzer = create_fresh_analyzer(analyzer_id) @sessions[session_id] = Session.new(analyzer) analyzer.config end
example_result(session_id)
click to toggle source
# File lib/radar/app/analyzer_controller.rb, line 27 def example_result(session_id) synchronized(session_id) do @sessions[session_id].analyzer.example_result end end
Protected Instance Methods
create_fresh_analyzer(analyzer_id)
click to toggle source
# File lib/radar/app/analyzer_controller.rb, line 35 def create_fresh_analyzer(analyzer_id) if Radar::App.env.development? $class_reloader.execute_if_updated end Object.const_get(registry[analyzer_id]).new end
registry()
click to toggle source
# File lib/radar/app/analyzer_controller.rb, line 42 def registry self.class.registry end