Sha256: 6e000589167d0c71edd5efdbdd152687670b68621a4c8ba3d6e30f4bdcc269a0

Contents?: true

Size: 982 Bytes

Versions: 3

Compression:

Stored size: 982 Bytes

Contents

module SimpleAdmin
  module ResourceController
    class ActionsBuilder
      # Build CRUD actions for controller
      #
      # @since 0.1.0

      def self.initialize_actions!(controller_klass, model_name)
        controller_klass.class_eval do
          include ResourceController::DynamicFields
          include ResourceController::Crudify

          include Helpers::UrlHelper

          def after_create_path
            resource_link(model_klass.new, :index)
          end

          def after_update_path
            resource_link(model_klass.new, :index)
          end

          def after_destroy_path
            resource_link(model_klass.new, :index)
          end

          define_method :model_klass do
            model_name.constantize
          end

          private

            def template_path(controller_action=nil)
              "simple_admin/admin/resource/#{controller_action || params[:action]}"
            end
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
simple-admin-0.1.2.pre.alpha lib/simple_admin/resource_controller/actions_builder.rb
simple-admin-0.1.1.pre.alpha lib/simple_admin/resource_controller/actions_builder.rb
simple-admin-0.1.0.pre.alpha lib/simple_admin/resource_controller/actions_builder.rb