Sha256: 1ca8243ce23e2a9a50c56992a6eef32e2dcbf8a4f1885364bdff8ca6c96fb28f
Contents?: true
Size: 863 Bytes
Versions: 7
Compression:
Stored size: 863 Bytes
Contents
# frozen_string_literal: true require 'forwardable' module DynamoidAdvancedWhere module Nodes module Concerns module Negatable def negate NotNode.new(sub_node: self) end alias ! negate end end # I know this is weird but it prevents a circular dependency require_relative './and_node' require_relative './or_node' class NotNode extend Forwardable include Concerns::SupportsLogicalAnd include Concerns::SupportsLogicalOr attr_accessor :sub_node def_delegators :@sub_node, :expression_attribute_names, :expression_attribute_values def initialize(sub_node:) self.sub_node = sub_node freeze end def to_expression "NOT(#{sub_node.to_expression})" end end end end
Version data entries
7 entries across 7 versions & 1 rubygems