Module: Polaroid::ClassMethods

Defined in:
lib/polaroid.rb

Instance Method Summary collapse

Instance Method Details

#build_from_snapshot(snapshot, format = :hash) ⇒ Object



35
36
37
38
39
40
41
42
43
44
45
46
47
# File 'lib/polaroid.rb', line 35

def build_from_snapshot(snapshot, format = :hash)
  case format
  when :hash
    snapshot_hash = snapshot.map.with_object({}) do |(k, v), hash|
      hash[k.to_sym] = v
    end
  when :json
    snapshot_hash = JSON.parse(snapshot).map.with_object({}) do |(k, v), hash|
      hash[k.to_sym] = v
    end
  end
  self::Snapshot.new(snapshot_hash)
end