analytic 0.1.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (36) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +43 -13
  3. data/Rakefile +12 -2
  4. data/app/assets/builds/analytic/application.css +810 -0
  5. data/app/assets/builds/analytic/application.js +5779 -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 +79 -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 +25 -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 +24 -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 +13 -0
  27. data/config/routes.rb +7 -0
  28. data/db/migrate/20240805210911_create_analytic_views.rb +24 -0
  29. data/lib/analytic/config.rb +30 -0
  30. data/lib/analytic/engine.rb +11 -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: dc45200aa3d02b6b5b0762abc37f93924ea4d025c25ddd671933512b35a2a795
4
+ data.tar.gz: 925779556b411685139ff5d8c167bee45b4aed9ec793c523f90a26fcc95685df
5
5
  SHA512:
6
- metadata.gz: 37f89e7abb0cf9130bd7bac4ad1dc352eccd7f1aa88027185e31150fb04b6486c4636516cf320205c81f58884867e32dbb4273ed476e06013f0bba7ecdb2dbb8
7
- data.tar.gz: c1dc5dec42746d70d519c3da69c2ae7af5e5d364c951ad88506857ab5cc6fe5220ba9be25dffa0e1973571a8eb4bfadd051eb61a28876be3111381e5aadb76e7
6
+ metadata.gz: 5e1b269cd08c02ae021f491b3b5dd6076e7be3fe049b1bf50ea4b4ef09ac50ce32dd50c73f16cdd549ed416a1f59b602b8ed4b9994ed6690623559ab14aca8a9
7
+ data.tar.gz: 34eea881684f27d927c48c7b3c76240a946cca6551747342017c5f5e9f53c558f391c5c66592ceb8f701af86c0639742fb6d592270a55680a87b6b6684084e22
data/README.md CHANGED
@@ -1,28 +1,58 @@
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
+ config.ip_v4_mask = 24 # '255.255.255.255' becomes '255.255.255.0'
29
+ config.ip_v6_mask = 48 # 'ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff' becomes 'ffff:ffff:ffff:0000:0000:0000:0000:0000'
30
+ end
17
31
  ```
18
32
 
19
- Or install it yourself as:
20
- ```bash
21
- $ gem install analytic
33
+ ## Usage
34
+
35
+ Default inline tracking is configured with:
36
+
37
+ ```ruby
38
+ class ApplicationController
39
+ include Analytic::Trackable
40
+
41
+ before_action { analytic_track! }
42
+ end
22
43
  ```
23
44
 
24
- ## Contributing
25
- Contribution directions go here.
45
+ Alternative job tracking is configured with:
46
+
47
+ ```ruby
48
+ class ApplicationController
49
+ include Analytic::Trackable
50
+
51
+ before_action { analytic_enqueue_track_job! }
52
+ ```
53
+
54
+ _note: a queue such as sidekiq, rescue, etc must be running to see tracking_
26
55
 
27
56
  ## License
57
+
28
58
  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]