main
 1module Agents
 2  class EventsController < ApplicationController
 3    before_action :load_agent
 4
 5    def index
 6      @events = @agent.events.order(created_at: :desc)
 7    end
 8
 9    def new
10      @event = Event.new
11    end
12
13    def create
14      publish(EventMessage.new(
15        agent_id: @agent.id,
16        event_type: event_params[:type],
17        data: event_params[:data]
18      ))
19      redirect_to agent_events_url, notice: 'Event was successfully created.'
20    end
21
22    def destroy
23      @event = Event.find(params[:id])
24      @event.destroy
25      redirect_to agent_events_url(@agent), notice: 'Event was successfully destroyed.'
26    end
27
28    private
29
30    def event_params
31      params[:event]
32    end
33
34    def load_agent
35      @agent = Agent.find(params[:agent_id])
36    end
37  end
38end