Method: Reight::Map.restore
- Defined in:
- lib/reight/map.rb
.restore(hash, source_chips) ⇒ Object
107 108 109 110 111 112 113 114 115 116 117 118 119 |
# File 'lib/reight/map.rb', line 107 def self.restore(hash, source_chips) chip_size, chunk_size, chunks = hash.values_at :chip_size, :chunk_size, :chunks #hash => {chip_size:, chunk_size:, chunks:} new(chip_size: chip_size, chunk_size: chunk_size).tap do |obj| obj.instance_eval do @chunks = chunks.each.with_object({}) do |chunk_hash, result| x, y = chunk_hash.values_at :x, :y #chunk_hash => {x:, y:} result[[x, y]] = Chunk.restore chunk_hash, source_chips end end end end |