Skip to content

Instantly share code, notes, and snippets.

@olivermt
Created February 22, 2017 22:30
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save olivermt/39baac6bb207343d139edeba7ed7375d to your computer and use it in GitHub Desktop.
Save olivermt/39baac6bb207343d139edeba7ed7375d to your computer and use it in GitHub Desktop.
def validate_version(cs = %{
valid?: true,
changes: %{definition: new_def, version: client_version},
data: %{definition: old_def, version: db_version}})
when client_version > db_version do
case Map.equals(new_def, old_def) do
true ->
put_change(cs, :version, version+1)
false ->
add_error(cs, :definition, "definition_out_of_sync")
end
end
def validate_version(c = %{data: %{version: version}}), do: put_change(c, :version, version+1)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment