Current section

Files

Jump to
segment_elixir lib segment context.ex
Raw

lib/segment/context.ex

defmodule Segment.Context do
@derive Jason.Encoder
@library_name Mix.Project.get().project[:description]
@library_version Mix.Project.get().project[:version]
defstruct [
:active,
:app,
:campaign,
:device,
:ip,
:library,
:locale,
:location,
:network,
:os,
:page,
:referrer,
:screen,
:timezone,
:traits,
:userAgent
]
def update(context = %__MODULE__{}) do
%{context | library: %{name: @library_name, version: @library_version}}
end
def new do
update(%__MODULE__{})
end
end