Sha256: 2ae99ae37060dac20e0e8612c9989df593fdc7358a26eb7c633a44e1801897ee

Contents?: true

Size: 797 Bytes

Versions: 90

Compression:

Stored size: 797 Bytes

Contents

module Avo
  module Concerns
    module CanReplaceFields
      extend ActiveSupport::Concern

      included do
        class_attribute :backup_items_holder
      end

      class_methods do
        def with_temporary_items(&block)
          # back-up the previous items
          self.backup_items_holder = items_holder

          self.items_holder = Avo::ItemsHolder.new

          instance_eval(&block)
        end

        def restore_items_from_backup
          self.items_holder = backup_items_holder if backup_items_holder.present?
        end

        def with_new_items(&block)
          self.items_holder = Avo::ItemsHolder.new

          instance_eval(&block)
        end
      end

      def with_new_items(&block)
        self.class.with_new_items(&block)
      end
    end
  end
end

Version data entries

90 entries across 90 versions & 1 rubygems

Version Path
avo-2.53.0 lib/avo/concerns/can_replace_fields.rb
avo-2.52.0 lib/avo/concerns/can_replace_fields.rb
avo-2.49.0 lib/avo/concerns/can_replace_fields.rb
avo-2.48.0 lib/avo/concerns/can_replace_fields.rb
avo-2.47.0 lib/avo/concerns/can_replace_fields.rb
avo-2.46.0 lib/avo/concerns/can_replace_fields.rb
avo-2.45.0 lib/avo/concerns/can_replace_fields.rb
avo-2.44.0 lib/avo/concerns/can_replace_fields.rb
avo-2.43.0 lib/avo/concerns/can_replace_fields.rb
avo-2.42.2 lib/avo/concerns/can_replace_fields.rb
avo-2.42.1 lib/avo/concerns/can_replace_fields.rb
avo-2.42.0 lib/avo/concerns/can_replace_fields.rb
avo-2.41.0 lib/avo/concerns/can_replace_fields.rb
avo-2.40.0 lib/avo/concerns/can_replace_fields.rb
avo-2.39.0 lib/avo/concerns/can_replace_fields.rb
avo-2.38.0 lib/avo/concerns/can_replace_fields.rb
avo-2.37.2 lib/avo/concerns/can_replace_fields.rb
avo-2.37.1 lib/avo/concerns/can_replace_fields.rb
avo-2.37.0 lib/avo/concerns/can_replace_fields.rb
avo-2.36.3 lib/avo/concerns/can_replace_fields.rb