webring-rails 1.8.1 → 1.8.3

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: ea41f8c9f6234ce3bea568e5fbaa6c54989aed946433a131cabb2e7aab611eb1
4
- data.tar.gz: 0e943bd6e8ed643efc4ea65702836a70e164f681a29dc7ef549849ef7f9348c1
3
+ metadata.gz: bf919b253e2c49eecdcc9383f67e090014c0e1ba91946025b87420d7f629fdcb
4
+ data.tar.gz: e17daaf411ede72c0815a86877dbba76b7f3f796da14583fb7592be630e2b133
5
5
  SHA512:
6
- metadata.gz: 35b0e2ec336cbfa1ba5d07cb63c41e3d81e02041ded017012b4a3ec597ccff78b8a32660db9ac63886048d5a0ece447fe0280f499576fb264b2cffa396a1e6f0
7
- data.tar.gz: 4c9e634dcca78c9f84f8d27a218609f860520b746683fbbe48b4143b294e957b61a5f8c6a3829d8f7607c9b2bda11a6c708b4b79836d0d33067aac567bf47c40
6
+ metadata.gz: 1587582f91f859772718b03de676b4509eb55a0478ccc8fbfb2a62d384dd165072f6599ee4ed77ba508c1171bc014c735ffd8133ab55cc29d7feb2094f0aca44
7
+ data.tar.gz: 4fd3c70354de200081242011231b62d80cc081e40dc450381b64bea795eac69cbac7511afdd21c04a857d79f1e6f307fd444daa433073636083868f719641895
@@ -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,9 +1,10 @@
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
- before_action :find_member, only: %i[next previous]
6
- before_action :ensure_members_exist, :check_member_exists, only: [:random]
6
+ before_action :check_member_exists, only: %i[next previous]
7
+ before_action :ensure_members_exist, only: [:random]
7
8
 
8
9
  # GET /webring/next
9
10
  def next
@@ -32,20 +33,21 @@ 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
38
43
 
39
- def find_member
40
- @member = Webring::Member.active.find_by(uid: permitted_params[:source_member_uid])
41
- return @member if @member
42
-
43
- render_member_not_found
44
+ def member
45
+ @member ||= Webring::Member.active.find_by(uid: permitted_params[:source_member_uid])
44
46
  end
45
47
 
46
48
  def check_member_exists
47
49
  member_uid = permitted_params[:source_member_uid]
48
- return unless member_uid.present? && !Webring::Member.active.exists?(uid: member_uid)
50
+ return unless member_uid.present? && !member.present?
49
51
 
50
52
  render_member_not_found
51
53
  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 }
@@ -1,9 +1,10 @@
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
- before_action :ensure_members_exist, :check_member_exists, only: [:random]
7
+ before_action :ensure_members_exist, only: [:random]
7
8
 
8
9
  # GET /webring/next
9
10
  def next
@@ -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.1'.freeze
2
+ VERSION = '1.8.3'.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.1
4
+ version: 1.8.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nikita Shkoda