Sha256: 6ebf635b52a9175b306390cb910442f088fc5e9a4b102e7b763aab9d36f9b9d5

Contents?: true

Size: 966 Bytes

Versions: 3

Compression:

Stored size: 966 Bytes

Contents

module ActiveAdmin
  class ResourceController < ::InheritedViews::Base

    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

3 entries across 3 versions & 1 rubygems

Version Path
activeadmin-0.2.2 lib/active_admin/resource_controller/callbacks.rb
activeadmin-0.2.1 lib/active_admin/resource_controller/callbacks.rb
activeadmin-0.2.0 lib/active_admin/resource_controller/callbacks.rb