- Integrate Ahoy gem for tracking user events and visits - Create models for Ahoy events and visits - Implement admin interfaces for managing events and visits - Add background job for cleaning up old analytics data - Update application controller and other relevant controllers to track specific actions This commit implements a comprehensive event tracking system that logs user interactions within the application. Additionally, it includes mechanisms for managing and cleaning historical visit and event data, ensuring efficient data handling.
532 lines
13 KiB
Plaintext
532 lines
13 KiB
Plaintext
GEM
|
|
remote: https://rubygems.org/
|
|
specs:
|
|
actioncable (8.0.1)
|
|
actionpack (= 8.0.1)
|
|
activesupport (= 8.0.1)
|
|
nio4r (~> 2.0)
|
|
websocket-driver (>= 0.6.1)
|
|
zeitwerk (~> 2.6)
|
|
actionmailbox (8.0.1)
|
|
actionpack (= 8.0.1)
|
|
activejob (= 8.0.1)
|
|
activerecord (= 8.0.1)
|
|
activestorage (= 8.0.1)
|
|
activesupport (= 8.0.1)
|
|
mail (>= 2.8.0)
|
|
actionmailer (8.0.1)
|
|
actionpack (= 8.0.1)
|
|
actionview (= 8.0.1)
|
|
activejob (= 8.0.1)
|
|
activesupport (= 8.0.1)
|
|
mail (>= 2.8.0)
|
|
rails-dom-testing (~> 2.2)
|
|
actionpack (8.0.1)
|
|
actionview (= 8.0.1)
|
|
activesupport (= 8.0.1)
|
|
nokogiri (>= 1.8.5)
|
|
rack (>= 2.2.4)
|
|
rack-session (>= 1.0.1)
|
|
rack-test (>= 0.6.3)
|
|
rails-dom-testing (~> 2.2)
|
|
rails-html-sanitizer (~> 1.6)
|
|
useragent (~> 0.16)
|
|
actiontext (8.0.1)
|
|
actionpack (= 8.0.1)
|
|
activerecord (= 8.0.1)
|
|
activestorage (= 8.0.1)
|
|
activesupport (= 8.0.1)
|
|
globalid (>= 0.6.0)
|
|
nokogiri (>= 1.8.5)
|
|
actionview (8.0.1)
|
|
activesupport (= 8.0.1)
|
|
builder (~> 3.1)
|
|
erubi (~> 1.11)
|
|
rails-dom-testing (~> 2.2)
|
|
rails-html-sanitizer (~> 1.6)
|
|
activeadmin (3.2.5)
|
|
arbre (~> 1.2, >= 1.2.1)
|
|
csv
|
|
formtastic (>= 3.1)
|
|
formtastic_i18n (>= 0.4)
|
|
inherited_resources (~> 1.7)
|
|
jquery-rails (>= 4.2)
|
|
kaminari (>= 1.2.1)
|
|
railties (>= 6.1)
|
|
ransack (>= 4.0)
|
|
activejob (8.0.1)
|
|
activesupport (= 8.0.1)
|
|
globalid (>= 0.3.6)
|
|
activemodel (8.0.1)
|
|
activesupport (= 8.0.1)
|
|
activerecord (8.0.1)
|
|
activemodel (= 8.0.1)
|
|
activesupport (= 8.0.1)
|
|
timeout (>= 0.4.0)
|
|
activestorage (8.0.1)
|
|
actionpack (= 8.0.1)
|
|
activejob (= 8.0.1)
|
|
activerecord (= 8.0.1)
|
|
activesupport (= 8.0.1)
|
|
marcel (~> 1.0)
|
|
activesupport (8.0.1)
|
|
base64
|
|
benchmark (>= 0.3)
|
|
bigdecimal
|
|
concurrent-ruby (~> 1.0, >= 1.3.1)
|
|
connection_pool (>= 2.2.5)
|
|
drb
|
|
i18n (>= 1.6, < 2)
|
|
logger (>= 1.4.2)
|
|
minitest (>= 5.1)
|
|
securerandom (>= 0.3)
|
|
tzinfo (~> 2.0, >= 2.0.5)
|
|
uri (>= 0.13.1)
|
|
addressable (2.8.7)
|
|
public_suffix (>= 2.0.2, < 7.0)
|
|
ahoy_matey (5.2.1)
|
|
activesupport (>= 6.1)
|
|
device_detector (>= 1)
|
|
safely_block (>= 0.4)
|
|
arbre (1.7.0)
|
|
activesupport (>= 3.0.0)
|
|
ruby2_keywords (>= 0.0.2)
|
|
ast (2.4.2)
|
|
aws-eventstream (1.3.0)
|
|
aws-partitions (1.1035.0)
|
|
aws-sdk-core (3.215.0)
|
|
aws-eventstream (~> 1, >= 1.3.0)
|
|
aws-partitions (~> 1, >= 1.992.0)
|
|
aws-sigv4 (~> 1.9)
|
|
jmespath (~> 1, >= 1.6.1)
|
|
aws-sdk-kms (1.96.0)
|
|
aws-sdk-core (~> 3, >= 3.210.0)
|
|
aws-sigv4 (~> 1.5)
|
|
aws-sdk-s3 (1.177.0)
|
|
aws-sdk-core (~> 3, >= 3.210.0)
|
|
aws-sdk-kms (~> 1)
|
|
aws-sigv4 (~> 1.5)
|
|
aws-sigv4 (1.11.0)
|
|
aws-eventstream (~> 1, >= 1.0.2)
|
|
base64 (0.2.0)
|
|
bcrypt (3.1.20)
|
|
bcrypt_pbkdf (1.1.1)
|
|
bcrypt_pbkdf (1.1.1-arm64-darwin)
|
|
bcrypt_pbkdf (1.1.1-x86_64-darwin)
|
|
benchmark (0.4.0)
|
|
bigdecimal (3.1.9)
|
|
bindex (0.8.1)
|
|
bootsnap (1.18.4)
|
|
msgpack (~> 1.2)
|
|
brakeman (7.0.0)
|
|
racc
|
|
builder (3.3.0)
|
|
capybara (3.40.0)
|
|
addressable
|
|
matrix
|
|
mini_mime (>= 0.1.3)
|
|
nokogiri (~> 1.11)
|
|
rack (>= 1.6.0)
|
|
rack-test (>= 0.6.3)
|
|
regexp_parser (>= 1.5, < 3.0)
|
|
xpath (~> 3.2)
|
|
concurrent-ruby (1.3.5)
|
|
connection_pool (2.5.0)
|
|
crass (1.0.6)
|
|
cssbundling-rails (1.4.1)
|
|
railties (>= 6.0.0)
|
|
csv (3.3.2)
|
|
date (3.4.1)
|
|
debug (1.10.0)
|
|
irb (~> 1.10)
|
|
reline (>= 0.3.8)
|
|
device_detector (1.1.3)
|
|
devise (4.9.4)
|
|
bcrypt (~> 3.0)
|
|
orm_adapter (~> 0.1)
|
|
railties (>= 4.1.0)
|
|
responders
|
|
warden (~> 1.2.3)
|
|
dotenv (3.1.7)
|
|
down (5.4.2)
|
|
addressable (~> 2.8)
|
|
drb (2.2.1)
|
|
ed25519 (1.3.0)
|
|
erubi (1.13.1)
|
|
et-orbi (1.2.11)
|
|
tzinfo
|
|
event_stream_parser (1.0.0)
|
|
faraday (2.12.2)
|
|
faraday-net_http (>= 2.0, < 3.5)
|
|
json
|
|
logger
|
|
faraday-multipart (1.1.0)
|
|
multipart-post (~> 2.0)
|
|
faraday-net_http (3.4.0)
|
|
net-http (>= 0.5.0)
|
|
formtastic (5.0.0)
|
|
actionpack (>= 6.0.0)
|
|
formtastic_i18n (0.7.0)
|
|
friendly_id (5.5.1)
|
|
activerecord (>= 4.0.0)
|
|
fugit (1.11.1)
|
|
et-orbi (~> 1, >= 1.2.11)
|
|
raabro (~> 1.4)
|
|
globalid (1.2.1)
|
|
activesupport (>= 6.1)
|
|
has_scope (0.8.2)
|
|
actionpack (>= 5.2)
|
|
activesupport (>= 5.2)
|
|
httparty (0.22.0)
|
|
csv
|
|
mini_mime (>= 1.0.0)
|
|
multi_xml (>= 0.5.2)
|
|
i18n (1.14.6)
|
|
concurrent-ruby (~> 1.0)
|
|
inherited_resources (1.14.0)
|
|
actionpack (>= 6.0)
|
|
has_scope (>= 0.6)
|
|
railties (>= 6.0)
|
|
responders (>= 2)
|
|
io-console (0.8.0)
|
|
irb (1.14.3)
|
|
rdoc (>= 4.0.0)
|
|
reline (>= 0.4.2)
|
|
jbuilder (2.13.0)
|
|
actionview (>= 5.0.0)
|
|
activesupport (>= 5.0.0)
|
|
jmespath (1.6.2)
|
|
jquery-rails (4.6.0)
|
|
rails-dom-testing (>= 1, < 3)
|
|
railties (>= 4.2.0)
|
|
thor (>= 0.14, < 2.0)
|
|
jsbundling-rails (1.3.1)
|
|
railties (>= 6.0.0)
|
|
json (2.9.1)
|
|
kamal (2.4.0)
|
|
activesupport (>= 7.0)
|
|
base64 (~> 0.2)
|
|
bcrypt_pbkdf (~> 1.0)
|
|
concurrent-ruby (~> 1.2)
|
|
dotenv (~> 3.1)
|
|
ed25519 (~> 1.2)
|
|
net-ssh (~> 7.3)
|
|
sshkit (>= 1.23.0, < 2.0)
|
|
thor (~> 1.3)
|
|
zeitwerk (>= 2.6.18, < 3.0)
|
|
kaminari (1.2.2)
|
|
activesupport (>= 4.1.0)
|
|
kaminari-actionview (= 1.2.2)
|
|
kaminari-activerecord (= 1.2.2)
|
|
kaminari-core (= 1.2.2)
|
|
kaminari-actionview (1.2.2)
|
|
actionview
|
|
kaminari-core (= 1.2.2)
|
|
kaminari-activerecord (1.2.2)
|
|
activerecord
|
|
kaminari-core (= 1.2.2)
|
|
kaminari-core (1.2.2)
|
|
language_server-protocol (3.17.0.3)
|
|
logger (1.6.5)
|
|
loofah (2.24.0)
|
|
crass (~> 1.0.2)
|
|
nokogiri (>= 1.12.0)
|
|
mail (2.8.1)
|
|
mini_mime (>= 0.1.1)
|
|
net-imap
|
|
net-pop
|
|
net-smtp
|
|
marcel (1.0.4)
|
|
matrix (0.4.2)
|
|
meta-tags (2.22.1)
|
|
actionpack (>= 6.0.0, < 8.1)
|
|
mini_mime (1.1.5)
|
|
minitest (5.25.4)
|
|
msgpack (1.7.5)
|
|
multi_xml (0.7.1)
|
|
bigdecimal (~> 3.1)
|
|
multipart-post (2.4.1)
|
|
net-http (0.6.0)
|
|
uri
|
|
net-imap (0.5.5)
|
|
date
|
|
net-protocol
|
|
net-pop (0.1.2)
|
|
net-protocol
|
|
net-protocol (0.2.2)
|
|
timeout
|
|
net-scp (4.0.0)
|
|
net-ssh (>= 2.6.5, < 8.0.0)
|
|
net-sftp (4.0.0)
|
|
net-ssh (>= 5.0.0, < 8.0.0)
|
|
net-smtp (0.5.0)
|
|
net-protocol
|
|
net-ssh (7.3.0)
|
|
nio4r (2.7.4)
|
|
nokogiri (1.18.1-aarch64-linux-gnu)
|
|
racc (~> 1.4)
|
|
nokogiri (1.18.1-aarch64-linux-musl)
|
|
racc (~> 1.4)
|
|
nokogiri (1.18.1-arm-linux-gnu)
|
|
racc (~> 1.4)
|
|
nokogiri (1.18.1-arm-linux-musl)
|
|
racc (~> 1.4)
|
|
nokogiri (1.18.1-arm64-darwin)
|
|
racc (~> 1.4)
|
|
nokogiri (1.18.1-x86_64-darwin)
|
|
racc (~> 1.4)
|
|
nokogiri (1.18.1-x86_64-linux-gnu)
|
|
racc (~> 1.4)
|
|
nokogiri (1.18.1-x86_64-linux-musl)
|
|
racc (~> 1.4)
|
|
orm_adapter (0.5.0)
|
|
ostruct (0.6.1)
|
|
parallel (1.26.3)
|
|
parser (3.3.7.0)
|
|
ast (~> 2.4.1)
|
|
racc
|
|
pg (1.5.9)
|
|
propshaft (1.1.0)
|
|
actionpack (>= 7.0.0)
|
|
activesupport (>= 7.0.0)
|
|
rack
|
|
railties (>= 7.0.0)
|
|
psych (5.2.3)
|
|
date
|
|
stringio
|
|
public_suffix (6.0.1)
|
|
puma (6.5.0)
|
|
nio4r (~> 2.0)
|
|
raabro (1.4.0)
|
|
racc (1.8.1)
|
|
rack (3.1.8)
|
|
rack-session (2.1.0)
|
|
base64 (>= 0.1.0)
|
|
rack (>= 3.0.0)
|
|
rack-test (2.2.0)
|
|
rack (>= 1.3)
|
|
rackup (2.2.1)
|
|
rack (>= 3)
|
|
rails (8.0.1)
|
|
actioncable (= 8.0.1)
|
|
actionmailbox (= 8.0.1)
|
|
actionmailer (= 8.0.1)
|
|
actionpack (= 8.0.1)
|
|
actiontext (= 8.0.1)
|
|
actionview (= 8.0.1)
|
|
activejob (= 8.0.1)
|
|
activemodel (= 8.0.1)
|
|
activerecord (= 8.0.1)
|
|
activestorage (= 8.0.1)
|
|
activesupport (= 8.0.1)
|
|
bundler (>= 1.15.0)
|
|
railties (= 8.0.1)
|
|
rails-dom-testing (2.2.0)
|
|
activesupport (>= 5.0.0)
|
|
minitest
|
|
nokogiri (>= 1.6)
|
|
rails-html-sanitizer (1.6.2)
|
|
loofah (~> 2.21)
|
|
nokogiri (>= 1.15.7, != 1.16.7, != 1.16.6, != 1.16.5, != 1.16.4, != 1.16.3, != 1.16.2, != 1.16.1, != 1.16.0.rc1, != 1.16.0)
|
|
railties (8.0.1)
|
|
actionpack (= 8.0.1)
|
|
activesupport (= 8.0.1)
|
|
irb (~> 1.13)
|
|
rackup (>= 1.0.0)
|
|
rake (>= 12.2)
|
|
thor (~> 1.0, >= 1.2.2)
|
|
zeitwerk (~> 2.6)
|
|
rainbow (3.1.1)
|
|
rake (13.2.1)
|
|
ransack (4.2.1)
|
|
activerecord (>= 6.1.5)
|
|
activesupport (>= 6.1.5)
|
|
i18n
|
|
rdoc (6.11.0)
|
|
psych (>= 4.0.0)
|
|
redis-client (0.23.2)
|
|
connection_pool
|
|
regexp_parser (2.10.0)
|
|
reline (0.6.0)
|
|
io-console (~> 0.5)
|
|
responders (3.1.1)
|
|
actionpack (>= 5.2)
|
|
railties (>= 5.2)
|
|
rexml (3.4.0)
|
|
rubocop (1.70.0)
|
|
json (~> 2.3)
|
|
language_server-protocol (>= 3.17.0)
|
|
parallel (~> 1.10)
|
|
parser (>= 3.3.0.2)
|
|
rainbow (>= 2.2.2, < 4.0)
|
|
regexp_parser (>= 2.9.3, < 3.0)
|
|
rubocop-ast (>= 1.36.2, < 2.0)
|
|
ruby-progressbar (~> 1.7)
|
|
unicode-display_width (>= 2.4.0, < 4.0)
|
|
rubocop-ast (1.37.0)
|
|
parser (>= 3.3.1.0)
|
|
rubocop-minitest (0.36.0)
|
|
rubocop (>= 1.61, < 2.0)
|
|
rubocop-ast (>= 1.31.1, < 2.0)
|
|
rubocop-performance (1.23.1)
|
|
rubocop (>= 1.48.1, < 2.0)
|
|
rubocop-ast (>= 1.31.1, < 2.0)
|
|
rubocop-rails (2.29.0)
|
|
activesupport (>= 4.2.0)
|
|
rack (>= 1.1)
|
|
rubocop (>= 1.52.0, < 2.0)
|
|
rubocop-ast (>= 1.31.1, < 2.0)
|
|
rubocop-rails-omakase (1.0.0)
|
|
rubocop
|
|
rubocop-minitest
|
|
rubocop-performance
|
|
rubocop-rails
|
|
ruby-openai (7.3.1)
|
|
event_stream_parser (>= 0.3.0, < 2.0.0)
|
|
faraday (>= 1)
|
|
faraday-multipart (>= 1)
|
|
ruby-progressbar (1.13.0)
|
|
ruby2_keywords (0.0.5)
|
|
rubyzip (2.4.1)
|
|
rufus-scheduler (3.9.2)
|
|
fugit (~> 1.1, >= 1.11.1)
|
|
safely_block (0.4.1)
|
|
securerandom (0.4.1)
|
|
selenium-webdriver (4.28.0)
|
|
base64 (~> 0.2)
|
|
logger (~> 1.4)
|
|
rexml (~> 3.2, >= 3.2.5)
|
|
rubyzip (>= 1.2.2, < 3.0)
|
|
websocket (~> 1.0)
|
|
sidekiq (7.3.8)
|
|
base64
|
|
connection_pool (>= 2.3.0)
|
|
logger
|
|
rack (>= 2.2.4)
|
|
redis-client (>= 0.22.2)
|
|
sidekiq-scheduler (5.0.6)
|
|
rufus-scheduler (~> 3.2)
|
|
sidekiq (>= 6, < 8)
|
|
tilt (>= 1.4.0, < 3)
|
|
sitemap_generator (6.3.0)
|
|
builder (~> 3.0)
|
|
solid_cable (3.0.5)
|
|
actioncable (>= 7.2)
|
|
activejob (>= 7.2)
|
|
activerecord (>= 7.2)
|
|
railties (>= 7.2)
|
|
solid_cache (1.0.6)
|
|
activejob (>= 7.2)
|
|
activerecord (>= 7.2)
|
|
railties (>= 7.2)
|
|
solid_queue (1.1.2)
|
|
activejob (>= 7.1)
|
|
activerecord (>= 7.1)
|
|
concurrent-ruby (>= 1.3.1)
|
|
fugit (~> 1.11.0)
|
|
railties (>= 7.1)
|
|
thor (~> 1.3.1)
|
|
sqlite3 (2.5.0-aarch64-linux-gnu)
|
|
sqlite3 (2.5.0-aarch64-linux-musl)
|
|
sqlite3 (2.5.0-arm-linux-gnu)
|
|
sqlite3 (2.5.0-arm-linux-musl)
|
|
sqlite3 (2.5.0-arm64-darwin)
|
|
sqlite3 (2.5.0-x86_64-darwin)
|
|
sqlite3 (2.5.0-x86_64-linux-gnu)
|
|
sqlite3 (2.5.0-x86_64-linux-musl)
|
|
sshkit (1.23.2)
|
|
base64
|
|
net-scp (>= 1.1.2)
|
|
net-sftp (>= 2.1.2)
|
|
net-ssh (>= 2.8.0)
|
|
ostruct
|
|
stimulus-rails (1.3.4)
|
|
railties (>= 6.0.0)
|
|
stringio (3.1.2)
|
|
thor (1.3.2)
|
|
thruster (0.1.10)
|
|
thruster (0.1.10-aarch64-linux)
|
|
thruster (0.1.10-arm64-darwin)
|
|
thruster (0.1.10-x86_64-darwin)
|
|
thruster (0.1.10-x86_64-linux)
|
|
tilt (2.6.0)
|
|
timeout (0.4.3)
|
|
turbo-rails (2.0.11)
|
|
actionpack (>= 6.0.0)
|
|
railties (>= 6.0.0)
|
|
tzinfo (2.0.6)
|
|
concurrent-ruby (~> 1.0)
|
|
unicode-display_width (3.1.4)
|
|
unicode-emoji (~> 4.0, >= 4.0.4)
|
|
unicode-emoji (4.0.4)
|
|
uri (1.0.2)
|
|
useragent (0.16.11)
|
|
warden (1.2.9)
|
|
rack (>= 2.0.9)
|
|
web-console (4.2.1)
|
|
actionview (>= 6.0.0)
|
|
activemodel (>= 6.0.0)
|
|
bindex (>= 0.4.0)
|
|
railties (>= 6.0.0)
|
|
websocket (1.2.11)
|
|
websocket-driver (0.7.7)
|
|
base64
|
|
websocket-extensions (>= 0.1.0)
|
|
websocket-extensions (0.1.5)
|
|
xpath (3.2.0)
|
|
nokogiri (~> 1.8)
|
|
zeitwerk (2.7.1)
|
|
|
|
PLATFORMS
|
|
aarch64-linux
|
|
aarch64-linux-gnu
|
|
aarch64-linux-musl
|
|
arm-linux-gnu
|
|
arm-linux-musl
|
|
arm64-darwin
|
|
x86_64-darwin
|
|
x86_64-linux
|
|
x86_64-linux-gnu
|
|
x86_64-linux-musl
|
|
|
|
DEPENDENCIES
|
|
activeadmin (~> 3.2)
|
|
ahoy_matey (~> 5.2)
|
|
aws-sdk-s3 (~> 1.177)
|
|
bootsnap
|
|
brakeman
|
|
capybara
|
|
cssbundling-rails
|
|
debug
|
|
devise (~> 4.9)
|
|
down (~> 5.4)
|
|
friendly_id (~> 5.5)
|
|
httparty (~> 0.22.0)
|
|
jbuilder
|
|
jsbundling-rails
|
|
kamal
|
|
kaminari (~> 1.2)
|
|
meta-tags (~> 2.22)
|
|
pg (~> 1.5)
|
|
propshaft
|
|
puma (>= 5.0)
|
|
rails (~> 8.0.1)
|
|
rubocop-rails-omakase
|
|
ruby-openai (~> 7.3)
|
|
selenium-webdriver
|
|
sidekiq (~> 7.3)
|
|
sidekiq-scheduler (~> 5.0)
|
|
sitemap_generator (~> 6.3)
|
|
solid_cable
|
|
solid_cache
|
|
solid_queue
|
|
sqlite3 (>= 2.1)
|
|
stimulus-rails
|
|
thruster
|
|
turbo-rails
|
|
tzinfo-data
|
|
web-console
|
|
|
|
BUNDLED WITH
|
|
2.6.2
|