Sha256: edba59e2eea454fa00b6bc8fe312586d618ed69799b07db4bb51c7c74466765f

Contents?: true

Size: 1.19 KB

Versions: 1

Compression:

Stored size: 1.19 KB

Contents

# frozen_string_literal: true

require "active_record/version"

module Gutentag
  def self.dirtier
    @dirtier
  end

  def self.dirtier=(dirtier)
    @dirtier = dirtier
  end

  def self.normaliser
    @normaliser ||= lambda { |tag_name| tag_name.to_s.downcase }
  end

  def self.normaliser=(normaliser)
    @normaliser = normaliser
  end

  def self.tag_validations
    @tag_validations ||= Gutentag::TagValidations
  end

  def self.tag_validations=(tag_validations)
    @tag_validations = tag_validations
  end
end

require "gutentag/active_record"
require "gutentag/change_state"
require "gutentag/dirty"
require "gutentag/persistence"
require "gutentag/tag_validations"
require "gutentag/tagged_with"

if ActiveRecord::VERSION::MAJOR == 3
  Gutentag.dirtier = Gutentag::Dirty
elsif ActiveRecord::VERSION::MAJOR == 4 && ActiveRecord::VERSION::MINOR < 2
  Gutentag.dirtier = Gutentag::Dirty
end

require "active_support/lazy_load_hooks"
ActiveSupport.on_load(:gutentag) do
  Gutentag.tag_validations.call Gutentag::Tag
end

if defined?(Rails::Engine)
  require "gutentag/engine"
else
  require "active_record"
  require_relative "../app/models/gutentag/tag"
  require_relative "../app/models/gutentag/tagging"
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
gutentag-2.0.0 lib/gutentag.rb