Sha256: 70cf201f8a3121a964f4f04939f62072b3aa947300de97fc05b8bc85d96a4f6d

Contents?: true

Size: 564 Bytes

Versions: 1

Compression:

Stored size: 564 Bytes

Contents

# frozen_string_literal: true

require 'active_support/concern'

module PlainModel
  module Querying
    module Where
      extend ActiveSupport::Concern

      def initialize(*args)
        super(*args)
        values[:where] = {}
      end

      included do
        self.chainable_methods += [:except]
      end

      # Chain method
      # @param conditions [Hash]
      # @return new instance with applied changes
      def where(conditions)
        _within_new_instance do
          values[:where].merge!(conditions)
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
plain_model-0.1.0 lib/plain_model/querying/where.rb