analytic 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +41 -13
  3. data/Rakefile +12 -2
  4. data/app/assets/builds/analytic/application.css +810 -0
  5. data/app/assets/builds/analytic/application.js +54498 -0
  6. data/app/assets/builds/analytic/application.js.map +7 -0
  7. data/app/assets/config/analytic_manifest.js +0 -0
  8. data/app/controllers/analytic/application_controller.rb +6 -0
  9. data/app/controllers/analytic/dashboard_controller.rb +13 -0
  10. data/app/controllers/concerns/analytic/trackable.rb +38 -0
  11. data/app/helpers/analytic/application_helper.rb +6 -0
  12. data/app/jobs/analytic/application_job.rb +6 -0
  13. data/app/jobs/analytic/track_job.rb +23 -0
  14. data/app/mailers/analytic/application_mailer.rb +7 -0
  15. data/app/models/analytic/application_record.rb +7 -0
  16. data/app/models/analytic/dashboard.rb +65 -0
  17. data/app/models/analytic/view.rb +23 -0
  18. data/app/packs/analytic/application/index.ts +1 -0
  19. data/app/packs/analytic/application/initializers/fontawesome.ts +23 -0
  20. data/app/packs/analytic/application/initializers/index.ts +1 -0
  21. data/app/packs/analytic/entrypoints/application.tailwind.css +65 -0
  22. data/app/packs/analytic/entrypoints/application.ts +1 -0
  23. data/app/views/analytic/dashboard/show.html.erb +84 -0
  24. data/app/views/layouts/analytic/application.html.erb +42 -0
  25. data/bin/dev +3 -0
  26. data/bin/rails +11 -0
  27. data/config/routes.rb +7 -0
  28. data/db/migrate/20240805210911_create_analytic_views.rb +20 -0
  29. data/lib/analytic/config.rb +12 -0
  30. data/lib/analytic/engine.rb +7 -0
  31. data/lib/analytic/version.rb +3 -1
  32. data/lib/analytic.rb +15 -3
  33. metadata +36 -13
  34. data/lib/analytic/railtie.rb +0 -4
  35. data/lib/tasks/analytic_tasks.rake +0 -4
  36. /data/{MIT-LICENSE → LICENSE} +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7f82cc36d3c55179402d2d047fe8cc8a1fd42307a6c9d4b73192f474ad37fd75
4
- data.tar.gz: 66c0e7ee85886d4bc48fa0784dc5d73a7edc48763a8b9c57aa5ae6b86b5b8046
3
+ metadata.gz: fb82e829dff15357a11068a257ee1fb1ff2c4257de41703580a8f320ffee669a
4
+ data.tar.gz: 7e1bb82f6cec5b2fa12089fb7fbd3dfed87690da645eb3746ca22017de640f82
5
5
  SHA512:
6
- metadata.gz: 37f89e7abb0cf9130bd7bac4ad1dc352eccd7f1aa88027185e31150fb04b6486c4636516cf320205c81f58884867e32dbb4273ed476e06013f0bba7ecdb2dbb8
7
- data.tar.gz: c1dc5dec42746d70d519c3da69c2ae7af5e5d364c951ad88506857ab5cc6fe5220ba9be25dffa0e1973571a8eb4bfadd051eb61a28876be3111381e5aadb76e7
6
+ metadata.gz: 717be1d6814479751169f69fbdb39bb2413f023a001f0ea9033dbae146fd84357014ba67f3da150f77ac96d44500f45d5cfda0963e8cba428bd876e637e8e678
7
+ data.tar.gz: 56c3f9f5f29ee9a6564eca830cf9c895290f0eec4d97f179c9d031acb919ad1ff799018ee557c98a75252c28eec9da70ae445ee165e3ba267ec70b4f94761609
data/README.md CHANGED
@@ -1,28 +1,56 @@
1
+ [![CircleCI](https://circleci.com/gh/ksylvest/analytic.svg?style=svg)](https://circleci.com/gh/ksylvest/analytic)
2
+ [![CodeClimate Maintainability](https://api.codeclimate.com/v1/badges/005074b4a948038893a9/maintainability)](https://codeclimate.com/github/ksylvest/analytic/maintainability)
3
+ [![CodeClimate Test Coverage](https://api.codeclimate.com/v1/badges/005074b4a948038893a9/test_coverage)](https://codeclimate.com/github/ksylvest/analytic/test_coverage)
4
+
1
5
  # Analytic
2
- Short description and motivation.
3
6
 
4
- ## Usage
5
- How to use my plugin.
7
+ Analytic provides visitor / session / view tracking without the need for any third-party service.
6
8
 
7
9
  ## Installation
8
- Add this line to your application's Gemfile:
10
+
11
+ ```bash
12
+ $ bundle add analytic
13
+ $ bin/rails analytic:install:migrations
14
+ $ bin/rails db:migrate
15
+ ```
9
16
 
10
17
  ```ruby
11
- gem "analytic"
18
+ # config/routes.rb
19
+ Rails.application.routes.draw do
20
+ mount Analytic::Engine, at: '/analytic'
21
+ end
12
22
  ```
13
23
 
14
- And then execute:
15
- ```bash
16
- $ bundle
24
+ ```ruby
25
+ # config/initializer/analytic.rb
26
+ Analytic.configure do |config|
27
+ config.timezone = Time.find_zone('Canada/Pacific') # default is `Time.zone`
28
+ end
17
29
  ```
18
30
 
19
- Or install it yourself as:
20
- ```bash
21
- $ gem install analytic
31
+ ## Usage
32
+
33
+ Default inline tracking is configured with:
34
+
35
+ ```ruby
36
+ class ApplicationController
37
+ include Analytic::Trackable
38
+
39
+ before_action { analytic_track! }
40
+ end
22
41
  ```
23
42
 
24
- ## Contributing
25
- Contribution directions go here.
43
+ Alternative job tracking is configured with:
44
+
45
+ ```ruby
46
+ class ApplicationController
47
+ include Analytic::Trackable
48
+
49
+ before_action { analytic_enqueue_track_job! }
50
+ ```
51
+
52
+ _note: a queue such as sidekiq, rescue, etc must be running to see tracking_
26
53
 
27
54
  ## License
55
+
28
56
  The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
data/Rakefile CHANGED
@@ -1,3 +1,13 @@
1
- require "bundler/setup"
1
+ # frozen_string_literal: true
2
2
 
3
- require "bundler/gem_tasks"
3
+ require 'bundler/setup'
4
+
5
+ require 'bundler/gem_tasks'
6
+ require 'rspec/core/rake_task'
7
+ require 'rubocop/rake_task'
8
+
9
+ RSpec::Core::RakeTask.new(:spec)
10
+
11
+ RuboCop::RakeTask.new
12
+
13
+ task default: %i[spec rubocop]