rails_local_analytics 0.2.2 → 0.2.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6c1dffba4cbead6faa6192e3c1df830aa749f6f653bdc8f0eef6e9dbd3a2650b
4
- data.tar.gz: b0b6a574e09786c7888c4e6194fff36616f9d0634d99773955e762417ee3c828
3
+ metadata.gz: beaf062a7a9dbc3b7f1719e7a271614f634fde67672a245346412eb4d1a78bdd
4
+ data.tar.gz: c794bcccb049f4ced030c232056687967c7aabe278886cff198b71933dcd5c85
5
5
  SHA512:
6
- metadata.gz: 021fcb8b029ce1d842415eb5a4a3ed39a433726851988891455f2aa1ec510a1f56acc9563bad3003b799624384a8ff74ef40183e0a81746df82bb1d3b68d2e24
7
- data.tar.gz: 6c9d8b537f1de5f9b28b1b6e6baac6135a389a1ba65bb5dbc19a4ebdd7b73e1efaf855e6daaaa81b8b06b0a2d1913e0d0cdc97fd31635c794d545238751820c6
6
+ metadata.gz: 52a06c2a88d8f3f603e693f19ed6edcc0c5d8d27d0d5ba04dd8b438ad5c40f71d7dfe00fb0dcb138f0ee57a0f63885dfa7b7c51509fd6ef605bbb8a2fe57361e
7
+ data.tar.gz: 074f789a04d5c0f58d52c404362c9169f77ed5da367af4094001a571d8396927b4f8a59913223ce039f3179ab984f793d39699db27aea1d899e08f68a40f099f
data/README.md CHANGED
@@ -73,6 +73,7 @@ class CreateAnalyticsTables < ActiveRecord::Migration[6.0]
73
73
  end
74
74
  end
75
75
  ```
76
+ The reason we store our analytics in two separate tables to keep the cardinality of our data low. You are permitted to store everything in only one table but I recommend you try the 2 table approach first and see if it meets your needs. See the performance optimization section for more details.
76
77
 
77
78
  Add the route for the analytics dashboard at the desired endpoint:
78
79
 
@@ -81,11 +82,11 @@ Add the route for the analytics dashboard at the desired endpoint:
81
82
  mount RailsLocalAnalytics::Engine, at: "/admin/analytics"
82
83
  ```
83
84
 
84
- Its generally recomended to use a background job (especially since we now have [`solid_queue`](https://github.com/rails/solid_queue/)). If you would like to disable background jobs you can use the following config:
85
+ Its generally recomended to use a background job (especially since we now have [`solid_queue`](https://github.com/rails/solid_queue/)). If you would like to disable background jobs you can use the following config option:
85
86
 
86
87
  ```ruby
87
88
  # config/initializers/rails_local_analytics.rb
88
- RailsLocalAnalytics.config.background_jobs = false # defaults to true
89
+ # RailsLocalAnalytics.config.background_jobs = false # defaults to true
89
90
  ```
90
91
 
91
92
  The next step is to collect traffic.
@@ -157,6 +158,7 @@ There are a few techniques that you can use to tailor the database for your part
157
158
  * Consider just storing "local" or nil instead if the request originated from your website
158
159
  - `platform` and `browser_engine` columns
159
160
  * Consider dropping either of these if you do not need this information
161
+ - If you want to store everything in one table (which I dont think most people actually need) then you can simply only create one table (I recommend `tracked_requests_by_day_page`) with all of the fields from both tables. This gem will automatically populate all the same fields. You should NOT need to use `:custom_attributes` in this scenario.
160
162
 
161
163
  ## Usage where a request object is not available
162
164
 
File without changes
@@ -1,3 +1,3 @@
1
1
  module RailsLocalAnalytics
2
- VERSION = "0.2.2".freeze
2
+ VERSION = "0.2.4".freeze
3
3
  end
@@ -29,7 +29,7 @@ module RailsLocalAnalytics
29
29
  json_str = JSON.generate(json_hash) # convert to json string so that its compatible with all job backends
30
30
  RecordRequestJob.perform_later(json_str)
31
31
  else
32
- RecordRequestJob.new.perform(json_hash)
32
+ RecordRequestJob.new.perform(json_hash.deep_stringify_keys)
33
33
  end
34
34
  end
35
35
 
@@ -44,12 +44,19 @@ module RailsLocalAnalytics
44
44
  end
45
45
 
46
46
  class Config
47
- @@background_jobs = true
47
+ DEFAULTS = {
48
+ background_jobs: true,
49
+ }.freeze
50
+
48
51
  mattr_reader :background_jobs
49
52
 
50
53
  def self.background_jobs=(val)
51
54
  @@background_jobs = !!val
52
55
  end
56
+
57
+ DEFAULTS.each do |k,v|
58
+ self.send("#{k}=", v)
59
+ end
53
60
  end
54
61
 
55
62
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails_local_analytics
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.2.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Weston Ganger
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-12-12 00:00:00.000000000 Z
11
+ date: 2024-12-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -106,6 +106,8 @@ files:
106
106
  - README.md
107
107
  - Rakefile
108
108
  - app/assets/config/rails_local_analytics_manifest.js
109
+ - app/assets/images/rails_local_analytics/.keep
110
+ - app/assets/javascripts/rails_local_analytics/.keep
109
111
  - app/assets/stylesheets/rails_local_analytics/application.css
110
112
  - app/controllers/rails_local_analytics/application_controller.rb
111
113
  - app/controllers/rails_local_analytics/dashboard_controller.rb