Skip to content

Instantly share code, notes, and snippets.

@archaelus
Created January 14, 2009 18:07
Show Gist options
  • Save archaelus/46986 to your computer and use it in GitHub Desktop.
Save archaelus/46986 to your computer and use it in GitHub Desktop.
info(Field, Rec) ->
Fields = fields(Rec),
FieldIdx = lists:zip(Fields, lists:seq(2,length(Fields)+1)),
element(proplists:get_value(Field,FieldIdx), Rec).
fields(#dns_rec{}) -> fields(dns_rec);
fields(dns_rec) -> record_info(fields, dns_rec);
fields(#dns_rr{}) -> fields(dns_rr);
fields(dns_rr) -> record_info(fields, dns_rr).
to_proplist(R) ->
Keys = fields(R),
Values = tl(tuple_to_list(R)),
lists:zip(Keys,Values).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment