Sha256: 236be361864a3d79ecbe942df6831f62bf1379a0d377525dc636b5743c747218

Contents?: true

Size: 799 Bytes

Versions: 1

Compression:

Stored size: 799 Bytes

Contents

module RademadeAdmin
  module Search
    class ActiveRecord < Abstract

      protected

      def where(where_conditions)
        values = []
        condition = ''
        where_conditions.each do |type, conditions|
          conditions.each do |field, value|
            condition += " #{type.to_s.capitalize} " unless condition.empty?
            if value.is_a? Array
              condition += "#{field} IN (?)"
            else
              condition += "#{field} = ?"
            end
            values << value
          end
        end
        @result.where([condition, *values])
      end

      def order(order_conditions)
        order_conditions.each do |order_condition|
          @result = @result.order(order_condition)
        end
        @result
      end
      
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rademade_admin-0.0.1 app/services/search/query_adapter/active_record.rb