Sha256: 7288209e60941bee0506eae201be97aa9d277d6dbba9a4b271df97d9dafa87fe
Contents?: true
Size: 1.28 KB
Versions: 2
Compression:
Stored size: 1.28 KB
Contents
require 'ardm/support/equalizer' module Ardm module Query class Operator extend Ardm::Equalizer OPERATORS = { # DM => ARel :eql => :eq, :not => :not, :in => :in, :gt => :gt, :gte => :gteq, :lt => :lt, :lte => :lteq, :like => :matches, :not_like => :does_not_match, :regexp => :regexp, } ORDERS = { :asc => :asc, :desc => :desc, } ALL = OPERATORS.merge(ORDERS) equalize :target, :operator # @api private attr_reader :target # @api private attr_reader :operator # @api private def inspect "#<#{self.class.name} #{target.inspect}.#{operator.inspect}>" end FOR_ARRAY = { :eq => :in, :not_eq => :not_in }.freeze def for_array FOR_ARRAY[operator] end def to_arel(arel_table, value) Ardm::Query::Expression.new(arel_table, target, operator, value) end private # @api private def initialize(target, operator) @target, @operator = target, operator.to_sym end end # class Operator end # module Query end # module Ardm require 'ardm/query/ext/symbol'
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
ardm-0.1.0 | lib/ardm/query/operator.rb |
ardm-0.0.1 | lib/ardm/query/operator.rb |