# File lib/dm-redis-adapter/adapter.rb, line 39 def read(query) storage_name = query.model.storage_name records = records_for(query) records.each do |record| record_data = @redis.hgetall("#{storage_name}:#{record[redis_key_for(query.model)]}") query.fields.each do |property| next if query.model.key.include?(property) and query.model.key.size == 1 name = property.name.to_s value = record_data[name] # Integers are stored as Strings in Redis. If there's a # string coming out that should be an integer, convert it # now. All other typecasting is handled by datamapper # separately. record[name] = [Integer, Date].include?(property.primitive) ? property.typecast( value ) : value record end end query.filter_records(records) end