Sha256: 1d468320b6c5722ceefa7e42088c8767b3ad541b58bcee8837da5b515d33c72b

Contents?: true

Size: 1.03 KB

Versions: 2

Compression:

Stored size: 1.03 KB

Contents

require 'deleted_at/version'
require 'deleted_at/railtie' if defined?(Rails::Railtie)

module DeletedAt

  MissingColumn = Class.new(StandardError)

  DEFAULT_OPTIONS = {
    column: :deleted_at,
    proc: -> { Time.now.utc }
  }

  class << self
    attr_writer :logger
    attr_reader :disabled

    def logger
      @logger ||= Logger.new($stdout).tap do |log|
        log.progname = self.name
        log.level = Logger::INFO
      end
    end
  end

  @disabled = false

  def self.disabled?
    @disabled == true
  end

  def self.disable
    @disabled = true
  end

  def self.enable
    @disabled = false
  end

  def self.gemspec
    @gemspec ||= eval(`gem spec deleted_at --ruby`).freeze
  end

  def self.install(model)
    logger.warn <<~STR
      Great news! You're using the new and improved version of DeletedAt. No more table renaming.
      You'll want to migrate your old models to use the new (non-view based) functionality.
      Follow the instructions at #{gemspec.homepage}.
    STR
  end

  def self.uninstall(model)

  end

end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
deleted_at-0.6.0.pre.2 lib/deleted_at.rb
deleted_at-0.6.0.pre.1 lib/deleted_at.rb