Sha256: 0b8ddc7f89a7910392ed50c25e40aafc30cceb947c42696d40a7cb137d40a973

Contents?: true

Size: 882 Bytes

Versions: 17

Compression:

Stored size: 882 Bytes

Contents

module ActsAsTaggableOn
  module Utils
    def self.included(base)

      base.send :include, ActsAsTaggableOn::Utils::OverallMethods
      base.extend ActsAsTaggableOn::Utils::OverallMethods
    end

    module OverallMethods
      def using_postgresql?
        ::ActiveRecord::Base.connection && ::ActiveRecord::Base.connection.adapter_name == 'PostgreSQL'
      end

      def using_sqlite?
        ::ActiveRecord::Base.connection && ::ActiveRecord::Base.connection.adapter_name == 'SQLite'
      end

      def sha_prefix(string)
        Digest::SHA1.hexdigest("#{string}#{rand}")[0..6]
      end
      
      private
      def like_operator
        using_postgresql? ? 'ILIKE' : 'LIKE'
      end

      # escape _ and % characters in strings, since these are wildcards in SQL.
       def escape_like(str)
         str.gsub(/[!%_]/){ |x| '!' + x }
       end
    end

  end
end

Version data entries

17 entries across 17 versions & 4 rubygems

Version Path
acts-as-taggable-on-3.0.2 lib/acts_as_taggable_on/utils.rb
acts-as-taggable-on-3.0.1 lib/acts_as_taggable_on/utils.rb
acts-as-taggable-on-3.0.0 lib/acts_as_taggable_on/utils.rb
acts_as_taggable_on-3.0.0.rc2 lib/acts_as_taggable_on/utils.rb
acts_as_taggable_on-3.0.0.rc1 lib/acts_as_taggable_on/utils.rb
acts-as-taggable-on-2.4.1 lib/acts_as_taggable_on/utils.rb
acts-as-taggable-on-2.4.0 lib/acts_as_taggable_on/utils.rb
acts-as-taggable-on-2.4.0.beta lib/acts_as_taggable_on/utils.rb
tvdeyen_acts-as-taggable-on-2.3.3.1 lib/acts_as_taggable_on/utils.rb
crowdint_acts-as-taggable-on-2.3.5 lib/acts_as_taggable_on/utils.rb
acts-as-taggable-on-2.3.3 lib/acts_as_taggable_on/utils.rb
acts-as-taggable-on-2.3.2 lib/acts_as_taggable_on/utils.rb
crowdint_acts-as-taggable-on-2.3.4 lib/acts_as_taggable_on/utils.rb
crowdint_acts-as-taggable-on-2.3.3 lib/acts_as_taggable_on/utils.rb
crowdint_acts-as-taggable-on-2.3.2 lib/acts_as_taggable_on/utils.rb
acts-as-taggable-on-2.3.1 lib/acts_as_taggable_on/utils.rb
acts-as-taggable-on-2.3.0 lib/acts_as_taggable_on/utils.rb