Sha256: ded154aecaa2835cc51afcc76a604413c29c56b92d361f951221aa7ce3bc5a0e

Contents?: true

Size: 773 Bytes

Versions: 4

Compression:

Stored size: 773 Bytes

Contents

module ActiveRecord::Acts::List::CallbackDefiner #:nodoc:
  def self.call(caller_class, add_new_at)
    caller_class.class_eval do
      before_validation :check_top_position, unless: :act_as_list_no_update?

      before_destroy :reload, unless: Proc.new { new_record? || destroyed_via_scope? || act_as_list_no_update? }
      after_destroy :decrement_positions_on_lower_items, unless: Proc.new { destroyed_via_scope? || act_as_list_no_update? }

      before_update :check_scope, unless: :act_as_list_no_update?
      after_update :update_positions, unless: :act_as_list_no_update?

      after_commit :clear_scope_changed

      if add_new_at.present?
        before_create "add_to_list_#{add_new_at}".to_sym, unless: :act_as_list_no_update?
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
acts_as_list-0.9.10 lib/acts_as_list/active_record/acts/callback_definer.rb
acts_as_list-0.9.9 lib/acts_as_list/active_record/acts/callback_definer.rb
acts_as_list-0.9.8 lib/acts_as_list/active_record/acts/callback_definer.rb
acts_as_list-0.9.7 lib/acts_as_list/active_record/acts/callback_definer.rb