TeaVent v0.1.0 TeaVent.Example View Source
An example of how to use TeaVent:
iex> state = %{users: %{1 => User.new("Jose")}, events: []}
iex> state = TeaVent.Example.dispatch([:users], :create, %{name: "Michal"}, state)
iex> state = TeaVent.Example.dispatch([:users], :create, %{name: "W-M"}, state)
iex> state = TeaVent.Example.dispatch([:users, 1], :delete, %{}, state)
%{
events: [
%TeaVent.Event{
changed_subject: %TeaVent.Example.User{
deleted: true,
id: 1222957077122717130,
name: "Jose"
},
changes: %{deleted: true},
data: %{},
meta: %{},
name: :delete,
subject: %TeaVent.Example.User{
deleted: false,
id: 1222957077122717130,
name: "Jose"
},
topic: [:users, 1]
},
%TeaVent.Event{
changed_subject: %TeaVent.Example.User{
deleted: false,
id: 2900897003816872049,
name: "W-M"
},
changes: nil,
data: %{name: "W-M"},
meta: %{},
name: :create,
subject: nil,
topic: [:users]
},
%TeaVent.Event{
changed_subject: %TeaVent.Example.User{
deleted: false,
id: 1064675457221707330,
name: "Michal"
},
changes: nil,
data: %{name: "Michal"},
meta: %{},
name: :create,
subject: nil,
topic: [:users]
}
],
users: %{
1 => %TeaVent.Example.User{
deleted: true,
id: 1222957077122717130,
name: "Jose"
},
1064675457221707330 => %TeaVent.Example.User{
deleted: false,
id: 1064675457221707330,
name: "Michal"
},
2900897003816872049 => %TeaVent.Example.User{
deleted: false,
id: 2900897003816872049,
name: "W-M"
}
}
}
Link to this section Summary
Link to this section Functions
Link to this function
dispatch(topic, name, data \\ %{}, state \\ %{users: %{1 => User.new("Jose")}, events: []})
View Source
Link to this function
dispatch_event(event, state \\ %{users: %{1 => User.new("Jose")}, events: []})
View Source