Sha256: 0310386123b39ca6ec7bf60d08dcc5c7ee6c180091f84a0efc19c9b0835ea0ab

Contents?: true

Size: 1.36 KB

Versions: 2

Compression:

Stored size: 1.36 KB

Contents

require 'rails/generators/active_record'

module Coalla
  module Cms

    class SetupAdminGenerator < ActiveRecord::Generators::Base
      argument :name, :type => :string, :default => ""
      source_root File.expand_path("../templates", __FILE__)

      def setup_directory
        invoke "coalla:cms:create_admin"
        invoke "coalla:cms:setup_routes"
        invoke "coalla:cms:create_admin_login_view"
      end

      def copy_structure
        copy_file 'structure.rb', 'config/structure.rb'
      end

      def patch_application_controller
        inject_into_class "app/controllers/application_controller.rb", ApplicationController do
          "  layout :layout_by_resource\n\n"
        end

        gsub_file 'app/controllers/application_controller.rb', /protect_from_forgery with: :exception/ do |match|
          c = <<-RUBY


  def layout_by_resource
    if devise_controller? && resource_name === :administrator
      'admin'
    else
      'application'
    end
  end

  def after_sign_in_path_for resource
    case resource
      when Administrator
        admin_dashboard_path
      else
        root_path
    end
  end
          RUBY
          match << c
        end
      end

      def install_wysiwyg
        generate 'coalla:cms:wysiwyg:wymeditor'
      end

      def install_ckeditor
        generate 'coalla:cms:wysiwyg:ckeditor'
      end

    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
coalla-cms-0.4.2.0 lib/generators/coalla/cms/setup_admin_generator.rb
coalla-cms-0.4.4.3 lib/generators/coalla/cms/setup_admin_generator.rb