Sha256: a82c5273c278ed688886d52662f20360aa4388d75e21f33834b0673a09dcea98

Contents?: true

Size: 574 Bytes

Versions: 1

Compression:

Stored size: 574 Bytes

Contents

class Tarquinn::Engine
  attr_reader :configs, :controller

  def initialize(configs, controller)
    @configs = configs
    @controller = controller
  end

  def perform_redirect
    return unless perform_redirect?
    handler_redirector.redirect
  end

  private

  def perform_redirect?
    handler_redirector.present?
  end

  def handler_redirector
    @handler_redirector ||= handlers.find(&:perform_redirect?)
  end

  def handlers
    @handlers ||= build_handlers
  end

  def build_handlers
    configs.map { |_, c| Tarquinn::Handler.new(c, controller) }
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
tarquinn-0.2.0 lib/tarquinn/engine.rb