Sha256: 4c6070f92fdd3f98b6618aee1d068101a00ba81a3c59e6af994e63834883d8b8

Contents?: true

Size: 734 Bytes

Versions: 2

Compression:

Stored size: 734 Bytes

Contents

require 'motorhead/errors'

module Motorhead
  module Engine
    extend ActiveSupport::Concern

    module ClassMethods
      attr_accessor :on_error

      def active_if(&block)
        @active_if = block
      end

      def active?(controller)
        controller.instance_eval(&@active_if)
      end

      def mount_at(path = nil)
        if path
          @mount_at = path
        else
          defined?(@mount_at) && @mount_at
        end
      end
    end

    included do
      isolate_namespace self.parent

      engine_kls = self
      ActiveSupport.on_load :after_initialize do
        Rails.application.routes.prepend do
          mount engine_kls, at: engine_kls.mount_at || '/'
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
motorhead-0.4.1 lib/motorhead/engine.rb
motorhead-0.4.0 lib/motorhead/engine.rb