Sha256: 9807e4a1072570787aeb1740b7dfee0b7f3526003b4f8eda37b31bbe569d2576

Contents?: true

Size: 859 Bytes

Versions: 3

Compression:

Stored size: 859 Bytes

Contents

require 'everywhere/util'

module ActiveRecord
  class Base
    class << self
      delegate :where_not, :where_like, :where_not_like, :to => :scoped
    end
  end

  module QueryMethods
    include Everywhere::Util

    def where_not(opts, *rest)
      return self if opts.blank?

      relation = clone
      relation.where_values += build_where(opts, rest).map {|r| negate r}
      relation
    end

    def where_like(opts, *rest)
      return self if opts.blank?

      relation = clone
      relation.where_values += build_where(opts, rest).map {|r| Arel::Nodes::Matches.new r.left, r.right}
      relation
    end

    def where_not_like(opts, *rest)
      return self if opts.blank?

      relation = clone
      relation.where_values += build_where(opts, rest).map {|r| Arel::Nodes::DoesNotMatch.new r.left, r.right}
      relation
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
everywhere-2.0.0 lib/everywhere/method.rb
everywhere-1.0.1 lib/everywhere/method.rb
everywhere-1.0.0 lib/everywhere/method.rb