module Commutator::Util::Placeholders

Provides a placeholder string for a name or value for use in DynamoDB expressions.

Name placeholders will return the name itself if it is not a reserved word (and therefore safe to use).

Value placeholders are always generated.

Constants

RESERVED_WORDS

Wow. Dang.

Public Class Methods

name(name) click to toggle source
# File lib/commutator/util/placeholders.rb, line 17
def self.name(name)
  RESERVED_WORDS.include?(name.downcase) ? "#N_#{hash(name)}" : name
end
value(value) click to toggle source
# File lib/commutator/util/placeholders.rb, line 13
def self.value(value)
  ":V_#{hash(value)}"
end

Private Class Methods

hash(val) click to toggle source
# File lib/commutator/util/placeholders.rb, line 602
def self.hash(val)
  Digest::SHA1.hexdigest(val.to_json).first(10)
end