Sha256: 5e4945bd7e3b2f81e36691eb4a951da3958c6d528b5abce097120cc761027813
Contents?: true
Size: 949 Bytes
Versions: 1
Compression:
Stored size: 949 Bytes
Contents
# frozen_string_literal: true module Dynamoid # @private module AdapterPlugin class AwsSdkV3 class ProjectionExpressionConvertor attr_reader :expression, :name_placeholders def initialize(names, name_placeholders, name_placeholder_sequence) @names = names @name_placeholders = name_placeholders.dup @name_placeholder_sequence = name_placeholder_sequence build end private def build return if @names.nil? || @names.empty? clauses = @names.map do |name| if name.upcase.in?(Dynamoid::AdapterPlugin::AwsSdkV3::RESERVED_WORDS) placeholder = @name_placeholder_sequence.call @name_placeholders[placeholder] = name placeholder else name.to_s end end @expression = clauses.join(' , ') end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
dynamoid-3.10.0 | lib/dynamoid/adapter_plugin/aws_sdk_v3/projection_expression_convertor.rb |