Sha256: c4a20a582f31c6fafe79d585194e7b7b1e122a9cb425ab338aebc722a22e4dcb

Contents?: true

Size: 1.06 KB

Versions: 6

Compression:

Stored size: 1.06 KB

Contents

# Common behaviour that we want included in all adva engines

module Adva
  module Engine
    extend ActiveSupport::Concern

    included do
      config.autoload_paths << paths.app.views.to_a.first
      paths.lib.tasks = Dir[root.join('lib/adva/tasks/*.*')]

      engine_name = name.underscore.split('/').last

      initializer "adva-#{engine_name}.require_patches" do |app|
        require_patches
      end

      initializer "adva-#{engine_name}.load_redirects" do |app|
        load_redirects
      end
    end

    module InstanceMethods
      def require_patches
        Dir[root.join('lib/patches/**/*.rb')].each { |patch| require patch }
      end

      def load_redirects
        begin
          load root.join('config/redirects.rb')
        rescue LoadError
        end
      end

      def copy_migrations
        Dir[root.join('db/migrate/*')].map do |source|
          target = File.expand_path(source.gsub(root.to_s, '.'))
          FileUtils.mkdir_p(File.dirname(target))
          FileUtils.cp(source, target)
          target
        end
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
adva-core-0.0.9 lib/adva/engine.rb
adva-core-0.0.8 lib/adva/engine.rb
adva-core-0.0.7 lib/adva/engine.rb
adva-core-0.0.6 lib/adva/engine.rb
adva-core-0.0.5 lib/adva/engine.rb
adva-core-0.0.4 lib/adva/engine.rb