Sha256: 62e362066db239c97bc44b4cb7f536f4a446d530f71e69d53a21856f26395238
Contents?: true
Size: 948 Bytes
Versions: 4
Compression:
Stored size: 948 Bytes
Contents
# frozen_string_literal: true module Dynamoid module Criteria class OverwrittenConditionsDetector def initialize(conditions, conditions_new) @conditions = conditions @new_conditions = conditions_new @overwritten_keys = overwritten_keys end def found? @overwritten_keys.present? end def warning_message return unless found? 'Where conditions may contain only one condition for an attribute. ' \ "Following conditions are ignored: #{ignored_conditions}" end private def overwritten_keys new_fields = @new_conditions.keys.map(&method(:key_to_field)) @conditions.keys.select { |key| key_to_field(key).in?(new_fields) } end def key_to_field(key) key.to_s.split('.')[0] end def ignored_conditions @conditions.slice(*@overwritten_keys.map(&:to_sym)) end end end end
Version data entries
4 entries across 4 versions & 1 rubygems