Method: FMCache::Decoder#decode

Defined in:
lib/fmcache/decoder.rb

#decode(hash, field_mask) ⇒ <Hash>, IncompleteInfo

Parameters:

  • hash ({ String => { String => <Hash> } })
  • field_mask (FieldMaskParser::Node)

Returns:



19
20
21
22
23
24
25
26
27
28
29
# File 'lib/fmcache/decoder.rb', line 19

def decode(hash, field_mask)
  list = hash.values
  check_result = fields_checker.check(list, field_mask)

  decode_result = decode_list(check_result.list, field_mask: field_mask)

  f = Helper.to_fields(field_mask) - check_result.missing_fields.to_a
  i_decode_result = decode_list(check_result.incomplete_list, fields: f)

  concat(check_result, decode_result, i_decode_result)
end