class HecksAdapters::DynamoDB::Commands::Read
Attributes
client[R]
head[R]
query[R]
Public Class Methods
new(query, head, client)
click to toggle source
# File lib/commands/read.rb, line 6 def initialize(query, head, client) @client = client @query = query @head = head end
Public Instance Methods
call()
click to toggle source
# File lib/commands/read.rb, line 12 def call result = get_item return nil if result.nil? PizzaBuilder::Domain::Pizzas.head.new(result) end
Private Instance Methods
get_item()
click to toggle source
# File lib/commands/read.rb, line 22 def get_item symbolize( client.get_item( key: query, table_name: head.name ).item) end
symbolize(obj)
click to toggle source
# File lib/commands/read.rb, line 30 def symbolize(obj) return obj.inject({}){|memo,(k,v)| memo[k.to_sym] = symbolize(v); memo} if obj.is_a? Hash return obj.inject([]){|memo,v | memo << symbolize(v); memo} if obj.is_a? Array return obj end