class Dynamodb::Api::Relation::ExpressionAttributeNames
Attributes
names[RW]
Public Class Methods
new(names = {})
click to toggle source
# File lib/dynamodb/api/relation/expression_attribute_names.rb, line 9 def initialize(names = {}) self.names = {} case names.class.to_s when 'String' add(names) when 'Array' names.each do |name| add(name) end when 'Hash' self.names = names else raise "#{names.class} is not support" end end
Public Instance Methods
add(names)
click to toggle source
# File lib/dynamodb/api/relation/expression_attribute_names.rb, line 26 def add(names) _names = formatting(names) self.names.merge!(_names) end
Private Instance Methods
formatting(names)
click to toggle source
# File lib/dynamodb/api/relation/expression_attribute_names.rb, line 33 def formatting(names) _names = names.is_a?(Array) ? names : [names] _names.each_with_object({}) do |name, hash| next hash[name.to_sym] = remove_hash_tag(name) if name.is_a?(String) next hash.merge!(name) if name.is_a?(Hash) raise "#{name.class} is not support" end end
remove_hash_tag(name)
click to toggle source
# File lib/dynamodb/api/relation/expression_attribute_names.rb, line 42 def remove_hash_tag(name) name.gsub(/\#/, '') end