Advertisement
Guest User

Untitled

a guest
Sep 24th, 2016
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.60 KB | None | 0 0
  1. defmodule Mapper do
  2. def map(from, mapping) do
  3. find_keys = Map.keys(mapping)
  4.  
  5. result = Map.new(find_keys, fn(key) ->
  6. new_key = Map.get(mapping, key) || key
  7.  
  8. { new_key, Map.get(from, key) }
  9. end)
  10.  
  11. Map.drop(from, find_keys) |> Map.merge(result)
  12. end
  13. end
  14.  
  15. start = %{ achievementPoints: 1000, lastModified: 1231231, testing: 123 }
  16. mapping = %{ achievementPoints: :achievement_points, lastModified: :last_modified }
  17. # result = %{achievement_points: 1000, last_modified: 1231231, testing: 123}
  18.  
  19. result = Mapper.map(start, mapping)
  20.  
  21. IO.puts("start = #{inspect(start)}")
  22. IO.puts("result = #{inspect(result)}")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement