Module: RailsLocalAnalytics
- Defined in:
- lib/rails_local_analytics.rb,
lib/rails_local_analytics/engine.rb,
lib/rails_local_analytics/version.rb,
app/jobs/rails_local_analytics/application_job.rb,
app/jobs/rails_local_analytics/record_request_job.rb,
app/models/rails_local_analytics/application_record.rb,
app/controllers/rails_local_analytics/dashboard_controller.rb,
app/controllers/rails_local_analytics/application_controller.rb
Defined Under Namespace
Classes: ApplicationController, ApplicationJob, ApplicationRecord, Config, DashboardController, Engine, RecordRequestJob
Constant Summary
collapse
- VERSION =
"1.0.0".freeze
Class Method Summary
collapse
Class Method Details
.config(&block) ⇒ Object
36
37
38
39
40
41
42
43
44
|
# File 'lib/rails_local_analytics.rb', line 36
def self.config(&block)
c = Config
if block_given?
block.call(c)
else
return c
end
end
|
.record_request(request:, custom_attributes: nil) ⇒ Object
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
# File 'lib/rails_local_analytics.rb', line 7
def self.record_request(request:, custom_attributes: nil)
if request.is_a?(Hash)
request_hash = request
else
request_hash = {
referrer: request.referrer,
host: request.host,
path: request.path,
user_agent: request.user_agent,
http_accept_language: request.env["HTTP_ACCEPT_LANGUAGE"],
}
end
json_hash = {
day: Date.today.to_s,
request_hash: request_hash,
custom_attributes: custom_attributes,
}
if RailsLocalAnalytics.config.background_jobs
json_str = JSON.generate(json_hash)
RecordRequestJob.perform_later(json_str)
else
RecordRequestJob.new.perform(json_hash.deep_stringify_keys)
end
end
|