Sha256: 19a6253f1149072de393fb744b002d77e8ecf345a0756e80bd95312463be6b00

Contents?: true

Size: 514 Bytes

Versions: 1

Compression:

Stored size: 514 Bytes

Contents

# frozen_string_literal: true

module InvisibleRecord
  # Define scopes for the invisible record
  module Scopes
    def self.included(base)
      base.extend ClassMethods
    end

    # Define methods for Scopes
    module ClassMethods
      protected

      def define_default_scopes(deleted_ts_attr:)
        default_scope { where(deleted_ts_attr => nil) }
        scope :include_deleted, -> { unscoped.all }
        scope :deleted, -> { unscoped.where.not(deleted_ts_attr => nil) }
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
invisible_record-0.2.0 lib/invisible_record/scopes.rb