File tree Expand file tree Collapse file tree 2 files changed +41
-0
lines changed Expand file tree Collapse file tree 2 files changed +41
-0
lines changed Original file line number Diff line number Diff line change
1
+ module Analytics
2
+ extend ActiveSupport ::Concern
3
+
4
+ def plausible_event ( name , props : { } )
5
+ Analytics ::PlausibleEventJob . perform_later (
6
+ name : name ,
7
+ url : request . original_url ,
8
+ props : props ,
9
+ referrer : request . referer ,
10
+ headers : {
11
+ "User-Agent" => request . user_agent ,
12
+ "X-Forwarded-For" => request . remote_ip
13
+ }
14
+ )
15
+ end
16
+ end
Original file line number Diff line number Diff line change
1
+ require "rails_helper"
2
+
3
+ RSpec . describe "Analytics" , type : :controller do
4
+ controller do
5
+ include Analytics
6
+
7
+ after_action do
8
+ plausible_event "Something Happened" , props : { value : 42 }
9
+ end
10
+
11
+ def index
12
+ render plain : "Hello, World!"
13
+ end
14
+ end
15
+
16
+ it "sends a plausible event" do
17
+ plausible_request = stub_request ( :post , "https://plausible.io/api/event" )
18
+
19
+ get :index
20
+
21
+ perform_enqueued_jobs
22
+
23
+ expect ( plausible_request ) . to have_been_requested
24
+ end
25
+ end
You can’t perform that action at this time.
0 commit comments