Sha256: f4589ea0a00d8dfd68cd299f7372a9a2137de34afcd4124425f23361a169d03e

Contents?: true

Size: 773 Bytes

Versions: 4

Compression:

Stored size: 773 Bytes

Contents

module StaticRecord
  # Contains ActiveRecord-like query interface methods
  module QueryInterface
    # Contains conditioners
    module Conditioners
      private

      def where(query = nil, *params)
        params = [params] unless params.is_a?(Array) || params.is_a?(Hash)
        params = params.first if params.size == 1 && params[0].is_a?(Hash)
        add_subclause({ q: query }, params) if query
        self
      end

      def not(query, *params)
        params = [params] unless params.is_a?(Array) || params.is_a?(Hash)
        params = params.first if params.size == 1 && params[0].is_a?(Hash)
        add_subclause({ q: query, operator: :not_eq }, params)
        self
      end

      def or
        @chain = :or
        self
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
static-record-1.2.1 lib/static_record/models/query_interface/conditioners.rb
static-record-1.2.0 lib/static_record/models/query_interface/conditioners.rb
static-record-1.1.0 lib/static_record/models/query_interface/conditioners.rb
static-record-1.0.1 lib/static_record/models/query_interface/conditioners.rb