webring-rails 1.8.0 → 1.8.2

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7231dcbc5a185d6c345c5d13b387d09aa80dd5acd7962f8c006a9ca7f313a585
4
- data.tar.gz: 6f377e0a118b9037fcd65f6b015000ff247ca3616e670abc3154dea86389be53
3
+ metadata.gz: '09962a10d4698514d1fff56c342a2f7a352860dfec190a5b39c2916ce882c868'
4
+ data.tar.gz: 494cf6cae44530b3015d4aa03bf951a86562a98bf6fce5b66f5d2779f41cf3d0
5
5
  SHA512:
6
- metadata.gz: 3ea2a0284502cca42c7f1c9faa6cc7500158fc995e5d7d9f0481ffcc0c674794eff4f58197fa3bc9e24af0732e9fcdaf5bdc9f6c1fc94166ce8d8faa6c34dfa1
7
- data.tar.gz: 7dbd23f1404bb811c4380fdd37e195fadde5c1212e1261baab4fc94df327350627453d537fa99a1bf452f69598854b3f93f08ff3d4198f9b283ff63d25ab27b3
6
+ metadata.gz: b6c6caa1496cae03db8c3c78fa5cd9ead1e4757d35e4107811b6482e902416988c7acddcad4c15437315e5b8bd47fb71bce1caedac6cee9c3a53781c0eeef719
7
+ data.tar.gz: 275ca9a8962b43fa39c8f31c71db8efd0cac38ed31c44466f3b0af9e7acda293663bef12135759108bb6fcc03afc3bb91f41da8c09387de337dbefe523120490
@@ -475,7 +475,7 @@
475
475
 
476
476
  const widgetFetchMetricsPath = "<<REPLACE_ME_WIDGET_FETCH_METRICS_PATH>>";
477
477
 
478
- if (widgetFetchMetricsPath && widgetFetchMetricsPath.trim() !== '' && widgetFetchMetricsPath.trim() !== '<<REPLACE_ME_WIDGET_FETCH_METRICS_PATH>>') { // if not empty and not the default value
478
+ if (widgetFetchMetricsPath && widgetFetchMetricsPath.trim() !== '' && widgetFetchMetricsPath.trim() !== "<<REPLACE_ME_WIDGET_FETCH_METRICS_PATH>>") { // if not empty and not the default value
479
479
  // Track widget fetch for metrics
480
480
  try {
481
481
  fetch(`${baseUrl}${widgetFetchMetricsPath}`, {
@@ -1,6 +1,7 @@
1
1
  module Webring
2
2
  class NavigationController < ApplicationController
3
3
  before_action :set_cors_headers
4
+ before_action :handle_placeholder_uid
4
5
 
5
6
  before_action :find_member, only: %i[next previous]
6
7
  before_action :ensure_members_exist, :check_member_exists, only: [:random]
@@ -32,6 +33,10 @@ module Webring
32
33
  params.permit(:source_member_uid)
33
34
  end
34
35
 
36
+ def handle_placeholder_uid
37
+ head :ok if permitted_params[:source_member_uid] == Webring::Member::UID_PLACEHOLDER
38
+ end
39
+
35
40
  def redirect_to_member(member)
36
41
  redirect_to member.url, allow_other_host: true
37
42
  end
@@ -15,11 +15,11 @@ module Webring
15
15
  # Take the minified JavaScript file from the engine's assets and replace the customizable Logo SVG
16
16
  widget_js =
17
17
  Webring::Engine
18
- .root.join('app/assets/javascripts/webring/widget.min.js')
18
+ .root.join('app/assets/javascripts/webring/widget.js')
19
19
  .read
20
20
  .gsub('"<<REPLACE_ME_LOGO_SVG_FUNCTION>>"', logo_svg_function)
21
21
  .gsub('"<<REPLACE_ME_TEXT_DEFAULTS>>"', JSON.generate(text_defaults))
22
- .gsub('"<<REPLACE_ME_WIDGET_FETCH_METRICS_PATH>>"', widget_fetch_metrics_path)
22
+ .sub('<<REPLACE_ME_WIDGET_FETCH_METRICS_PATH>>', widget_fetch_metrics_path)
23
23
 
24
24
  render js: widget_js
25
25
  end
@@ -3,6 +3,7 @@ module Webring
3
3
  extend Webring::Navigation
4
4
 
5
5
  UID_LENGTH = 16 # 32-character hex string
6
+ UID_PLACEHOLDER = 'YOUR_MEMBER_UID'.freeze
6
7
 
7
8
  # :active?, :disabled? -- :active!, :disabled!
8
9
  enum :status, { active: 0, disabled: 1 }
@@ -20,5 +20,11 @@ module Webring
20
20
  widgetTitle: { default: 'Webring', enforced: false }
21
21
  }
22
22
  end
23
+
24
+ # Override with actual path to enable widget usage metrics tracking
25
+ # Remove the method or return `nil` to disable metrics tracking
26
+ def widget_fetch_metrics_path
27
+ nil
28
+ end
23
29
  end
24
30
  end
@@ -1,6 +1,7 @@
1
1
  module Webring
2
2
  class NavigationController < ApplicationController
3
3
  before_action :set_cors_headers
4
+ before_action :handle_placeholder_uid
4
5
 
5
6
  before_action :find_member, only: %i[next previous]
6
7
  before_action :ensure_members_exist, :check_member_exists, only: [:random]
@@ -32,6 +33,10 @@ module Webring
32
33
  params.permit(:source_member_uid)
33
34
  end
34
35
 
36
+ def handle_placeholder_uid
37
+ head :ok if permitted_params[:source_member_uid] == Webring::Member::UID_PLACEHOLDER
38
+ end
39
+
35
40
  def redirect_to_member(member)
36
41
  redirect_to member.url, allow_other_host: true
37
42
  end
@@ -1,3 +1,3 @@
1
1
  module Webring
2
- VERSION = '1.8.0'.freeze
2
+ VERSION = '1.8.2'.freeze
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: webring-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.8.0
4
+ version: 1.8.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nikita Shkoda