analytic 0.1.0 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +43 -13
- data/Rakefile +12 -2
- data/app/assets/builds/analytic/application.css +810 -0
- data/app/assets/builds/analytic/application.js +5779 -0
- data/app/assets/builds/analytic/application.js.map +7 -0
- data/app/assets/config/analytic_manifest.js +0 -0
- data/app/controllers/analytic/application_controller.rb +6 -0
- data/app/controllers/analytic/dashboard_controller.rb +13 -0
- data/app/controllers/concerns/analytic/trackable.rb +79 -0
- data/app/helpers/analytic/application_helper.rb +6 -0
- data/app/jobs/analytic/application_job.rb +6 -0
- data/app/jobs/analytic/track_job.rb +25 -0
- data/app/mailers/analytic/application_mailer.rb +7 -0
- data/app/models/analytic/application_record.rb +7 -0
- data/app/models/analytic/dashboard.rb +65 -0
- data/app/models/analytic/view.rb +24 -0
- data/app/packs/analytic/application/index.ts +1 -0
- data/app/packs/analytic/application/initializers/fontawesome.ts +23 -0
- data/app/packs/analytic/application/initializers/index.ts +1 -0
- data/app/packs/analytic/entrypoints/application.tailwind.css +65 -0
- data/app/packs/analytic/entrypoints/application.ts +1 -0
- data/app/views/analytic/dashboard/show.html.erb +84 -0
- data/app/views/layouts/analytic/application.html.erb +42 -0
- data/bin/dev +3 -0
- data/bin/rails +13 -0
- data/config/routes.rb +7 -0
- data/db/migrate/20240805210911_create_analytic_views.rb +24 -0
- data/lib/analytic/config.rb +30 -0
- data/lib/analytic/engine.rb +11 -0
- data/lib/analytic/version.rb +3 -1
- data/lib/analytic.rb +15 -3
- metadata +36 -13
- data/lib/analytic/railtie.rb +0 -4
- data/lib/tasks/analytic_tasks.rake +0 -4
- /data/{MIT-LICENSE → LICENSE} +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: dc45200aa3d02b6b5b0762abc37f93924ea4d025c25ddd671933512b35a2a795
|
4
|
+
data.tar.gz: 925779556b411685139ff5d8c167bee45b4aed9ec793c523f90a26fcc95685df
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
-
|
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
|
-
|
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
|
-
|
18
|
+
# config/routes.rb
|
19
|
+
Rails.application.routes.draw do
|
20
|
+
mount Analytic::Engine, at: '/analytic'
|
21
|
+
end
|
12
22
|
```
|
13
23
|
|
14
|
-
|
15
|
-
|
16
|
-
|
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
|
-
|
20
|
-
|
21
|
-
|
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
|
-
|
25
|
-
|
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
|
-
|
1
|
+
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require
|
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]
|