Sha256: 567f3e714d7d4b562eefb816e7c711ffdab6c189769658b44df5c796918af1cc

Contents?: true

Size: 958 Bytes

Versions: 5

Compression:

Stored size: 958 Bytes

Contents

module ActiveAdmin
  class ResourceController < BaseController

    module Callbacks
      extend ActiveSupport::Concern
      include ::ActiveAdmin::Callbacks

      included do
        define_active_admin_callbacks :build, :create, :update, :save, :destroy
      end

      protected

      def build_resource
        object = super
        run_build_callbacks object
        object
      end

      def create_resource(object)
        run_create_callbacks object do
          save_resource(object)
        end
      end

      def save_resource(object)
        run_save_callbacks object do
          object.save
        end
      end

      def update_resource(object, attributes)
        object.attributes = attributes
        run_update_callbacks object do
          save_resource(object)
        end
      end

      def destroy_resource(object)
        run_destroy_callbacks object do
          object.destroy
        end
      end
    end

  end
end

Version data entries

5 entries across 5 versions & 2 rubygems

Version Path
activeadmin-0.4.0 lib/active_admin/resource_controller/callbacks.rb
andrewroth_activeadmin-0.3.4.4 lib/active_admin/resource_controller/callbacks.rb
andrewroth_activeadmin-0.3.4.3 lib/active_admin/resource_controller/callbacks.rb
andrewroth_activeadmin-0.3.4.2 lib/active_admin/resource_controller/callbacks.rb
andrewroth_activeadmin-0.3.4.1 lib/active_admin/resource_controller/callbacks.rb