Sha256: af172e9648257ddf844c10ad3a7d6f2367697a3d972fefefc2235b31eb3a351a

Contents?: true

Size: 1.14 KB

Versions: 8

Compression:

Stored size: 1.14 KB

Contents

# encoding: UTF-8

require 'rails/railtie'

module Keynote
  # @private
  class Railtie < Rails::Railtie
    config.after_initialize do |app|
      add_presenters_to_paths(app)
      load_test_integration
    end

    ActiveSupport.on_load(:action_view) do
      include Keynote::Helper
    end

    ActiveSupport.on_load(:action_controller) do
      include Keynote::Controller
    end

    ActiveSupport.on_load(:action_mailer) do
      include Keynote::Controller
    end

    rake_tasks do
      if defined?(MiniTest::Rails)
        load File.expand_path("../testing/minitest_rails.rake", __FILE__)
      end
    end

    def self.add_presenters_to_paths(app)
      if ::Rails.version.to_f >= 4
        app.config.paths.add 'app/presenters'
      else
        app.config.paths.add 'app/presenters', :eager_load => true
      end
    end

    def self.load_test_integration
      if defined?(RSpec::Rails)
        require 'keynote/testing/rspec'
      end

      if defined?(MiniTest::Rails)
        require 'keynote/testing/minitest_rails'
      end

      if !defined?(MiniTest::Rails)
        require "keynote/testing/test_unit"
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
keynote-1.1.1 lib/keynote/railtie.rb
keynote-1.1.0 lib/keynote/railtie.rb
keynote-1.0.0 lib/keynote/railtie.rb
keynote-0.3.1 lib/keynote/railtie.rb
keynote-0.3.0 lib/keynote/railtie.rb
keynote-0.2.3 lib/keynote/railtie.rb
keynote-0.2.2 lib/keynote/railtie.rb
keynote-0.2.1 lib/keynote/railtie.rb