testimonials 0.6.0 → 0.7.1

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: 789b6567b59d690a280075cd7cf5f0ba49ca6db9463e383fcdc8d655caf5e742
4
- data.tar.gz: c846b3cf72bcae677ab487276c9436d0a22125887ebe41462c474179a263dcc1
3
+ metadata.gz: fb6bd5f3534542607a7baaaa23e172f1c120d643d78a4d3a9bc8fa3642e811b2
4
+ data.tar.gz: 742ebbad6b55223fe4e0bbbe1d4efdef4f6cd7e7f30ed73d70c9b82da85fe3b0
5
5
  SHA512:
6
- metadata.gz: 7f155c2fe3927e8c31fd747ef63f641e20315407ae9e12f5f26e67786522c13daa3184364d5792ec87d69590bfc3abe95029ffade71a8be71d5a8c19eb2bcf00
7
- data.tar.gz: 1b43087d51e2dd5c1c94228bd39335a5f4f7d5605e9e5c96d3ef586bf8951d9e56deabc4e3c45f149613599813a0dfa7bc1f80735e44a4208d7fe73701f1a7db
6
+ metadata.gz: 7681e7590fea165b98fe2bc95e7324ec00d08ae757f9993da511e99bce24ab24887af1eabbb8b589cbecba1466a6e6aa74df4aafc9a12d5bb3e5d02f5e7ae3cd
7
+ data.tar.gz: d232339a5122dd29c87de64ef8e314f668ab5fe0dfeaf27259b80fc81f5cae50b0d07a3df21558dbe03276506cf362187f9505a459dac0439ff6179313ba0c1d
data/CHANGELOG.md CHANGED
@@ -1,5 +1,20 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.7.1
4
+
5
+ - Renamed the default admin dashboard title to `Testimonials` across shipped
6
+ locales while keeping it overridable through `testimonials.dashboard.title`.
7
+
8
+ ## 0.7.0
9
+
10
+ - New `config.storage_service`: store uploads (video, its poster frame, guest
11
+ avatars) on a named Active Storage service from the host's
12
+ `config/storage.yml` instead of the environment default. Point it at a
13
+ dedicated bucket or folder — or a service entry carrying provider options
14
+ like Cloudinary's `folder:`/`tags:` — to keep testimonial media separate
15
+ from the rest of the media library. `nil` (the default) keeps today's
16
+ behavior.
17
+
3
18
  ## 0.6.0
4
19
 
5
20
  - **The full-screen mobile dialog now survives the on-screen keyboard.** On
data/README.md CHANGED
@@ -132,6 +132,7 @@ Everything is optional — a fresh install works with zero config. In
132
132
  | `max_video_size` | `50.megabytes` | Enforced server-side |
133
133
  | `avatars` | `true` | Headshot upload for guests on the public page |
134
134
  | `max_avatar_size` | `5.megabytes` | Enforced server-side |
135
+ | `storage_service` | app default | Active Storage service for uploads (a `storage.yml` key) |
135
136
  | `reprompt_after` | `90.days` | Cooldown after a dismissal |
136
137
  | `max_prompts` | `3` | Lifetime auto-prompt cap per user |
137
138
  | `public_collection` | `true` | The shareable `/testimonials/new` page |
@@ -10,9 +10,13 @@ module Testimonials
10
10
  SOURCES = %w[widget page nps].freeze
11
11
 
12
12
  if defined?(::ActiveStorage)
13
- has_one_attached :video_file
14
- has_one_attached :poster # a still frame for the video, captured at record time
15
- has_one_attached :avatar
13
+ # Read at class load, which happens after the host's initializers, so
14
+ # a storage_service set in config/initializers/testimonials.rb is
15
+ # visible here. nil falls through to the environment's default service.
16
+ storage = Testimonials.config.storage_service
17
+ has_one_attached :video_file, service: storage
18
+ has_one_attached :poster, service: storage # a still frame for the video, captured at record time
19
+ has_one_attached :avatar, service: storage
16
20
  end
17
21
 
18
22
  validates :kind, inclusion: { in: KINDS }
@@ -64,7 +64,7 @@ ar:
64
64
  approved: "معتمد"
65
65
  archived: "مؤرشف"
66
66
  dashboard:
67
- title: "الشهادات"
67
+ title: "Testimonials"
68
68
  nps: "NPS"
69
69
  all_kinds: "كل الأنواع"
70
70
  search: "بحث"
@@ -64,7 +64,7 @@ bg:
64
64
  approved: "Одобрени"
65
65
  archived: "Архивирани"
66
66
  dashboard:
67
- title: "Отзиви"
67
+ title: "Testimonials"
68
68
  nps: "NPS"
69
69
  all_kinds: "Всички видове"
70
70
  search: "Търсене"
@@ -64,7 +64,7 @@ bn:
64
64
  approved: "অনুমোদিত"
65
65
  archived: "আর্কাইভ করা"
66
66
  dashboard:
67
- title: "প্রশংসাপত্র"
67
+ title: "Testimonials"
68
68
  nps: "NPS"
69
69
  all_kinds: "সব ধরন"
70
70
  search: "খুঁজুন"
@@ -64,7 +64,7 @@ de:
64
64
  approved: "Freigegeben"
65
65
  archived: "Archiviert"
66
66
  dashboard:
67
- title: "Erfahrungsberichte"
67
+ title: "Testimonials"
68
68
  nps: "NPS"
69
69
  all_kinds: "Alle Arten"
70
70
  search: "Suchen"
@@ -64,7 +64,7 @@ el:
64
64
  approved: "Εγκεκριμένο"
65
65
  archived: "Αρχειοθετημένο"
66
66
  dashboard:
67
- title: "Μαρτυρίες"
67
+ title: "Testimonials"
68
68
  nps: "NPS"
69
69
  all_kinds: "Όλα τα είδη"
70
70
  search: "Αναζήτηση"
@@ -64,7 +64,7 @@ es:
64
64
  approved: "Aprobado"
65
65
  archived: "Archivado"
66
66
  dashboard:
67
- title: "Testimonios"
67
+ title: "Testimonials"
68
68
  nps: "NPS"
69
69
  all_kinds: "Todos los tipos"
70
70
  search: "Buscar"
@@ -64,7 +64,7 @@ fr:
64
64
  approved: "Approuvé"
65
65
  archived: "Archivé"
66
66
  dashboard:
67
- title: "Témoignages"
67
+ title: "Testimonials"
68
68
  nps: "NPS"
69
69
  all_kinds: "Tous les types"
70
70
  search: "Rechercher"
@@ -64,7 +64,7 @@ hi:
64
64
  approved: "स्वीकृत"
65
65
  archived: "संग्रहीत"
66
66
  dashboard:
67
- title: "प्रशंसापत्र"
67
+ title: "Testimonials"
68
68
  nps: "NPS"
69
69
  all_kinds: "सभी प्रकार"
70
70
  search: "खोजें"
@@ -64,7 +64,7 @@ hr:
64
64
  approved: "Odobreno"
65
65
  archived: "Arhivirano"
66
66
  dashboard:
67
- title: "Osvrti"
67
+ title: "Testimonials"
68
68
  nps: "NPS"
69
69
  all_kinds: "Sve vrste"
70
70
  search: "Traži"
@@ -64,7 +64,7 @@ id:
64
64
  approved: "Disetujui"
65
65
  archived: "Diarsipkan"
66
66
  dashboard:
67
- title: "Testimoni"
67
+ title: "Testimonials"
68
68
  nps: "NPS"
69
69
  all_kinds: "Semua jenis"
70
70
  search: "Cari"
@@ -64,7 +64,7 @@ it:
64
64
  approved: "Approvato"
65
65
  archived: "Archiviato"
66
66
  dashboard:
67
- title: "Testimonianze"
67
+ title: "Testimonials"
68
68
  nps: "NPS"
69
69
  all_kinds: "Tutti i tipi"
70
70
  search: "Cerca"
@@ -64,7 +64,7 @@ ja:
64
64
  approved: "承認済み"
65
65
  archived: "アーカイブ済み"
66
66
  dashboard:
67
- title: "お客様の声"
67
+ title: "Testimonials"
68
68
  nps: "NPS"
69
69
  all_kinds: "すべての種類"
70
70
  search: "検索"
@@ -64,7 +64,7 @@ ko:
64
64
  approved: "승인됨"
65
65
  archived: "보관됨"
66
66
  dashboard:
67
- title: "고객 후기"
67
+ title: "Testimonials"
68
68
  nps: "NPS"
69
69
  all_kinds: "모든 유형"
70
70
  search: "검색"
@@ -64,7 +64,7 @@ lb:
64
64
  approved: "Guttgeheescht"
65
65
  archived: "Archivéiert"
66
66
  dashboard:
67
- title: "Temoignagen"
67
+ title: "Testimonials"
68
68
  nps: "NPS"
69
69
  all_kinds: "All Zorten"
70
70
  search: "Sichen"
@@ -64,7 +64,7 @@ pl:
64
64
  approved: "Zatwierdzone"
65
65
  archived: "Zarchiwizowane"
66
66
  dashboard:
67
- title: "Opinie"
67
+ title: "Testimonials"
68
68
  nps: "NPS"
69
69
  all_kinds: "Wszystkie rodzaje"
70
70
  search: "Szukaj"
@@ -64,7 +64,7 @@ pt:
64
64
  approved: "Aprovado"
65
65
  archived: "Arquivado"
66
66
  dashboard:
67
- title: "Depoimentos"
67
+ title: "Testimonials"
68
68
  nps: "NPS"
69
69
  all_kinds: "Todos os tipos"
70
70
  search: "Buscar"
@@ -64,7 +64,7 @@ ro:
64
64
  approved: "Aprobat"
65
65
  archived: "Arhivat"
66
66
  dashboard:
67
- title: "Testimoniale"
67
+ title: "Testimonials"
68
68
  nps: "NPS"
69
69
  all_kinds: "Toate tipurile"
70
70
  search: "Căutare"
@@ -64,7 +64,7 @@ ru:
64
64
  approved: "Одобрено"
65
65
  archived: "В архиве"
66
66
  dashboard:
67
- title: "Отзывы"
67
+ title: "Testimonials"
68
68
  nps: "NPS"
69
69
  all_kinds: "Все типы"
70
70
  search: "Поиск"
@@ -64,7 +64,7 @@ th:
64
64
  approved: "อนุมัติแล้ว"
65
65
  archived: "เก็บถาวรแล้ว"
66
66
  dashboard:
67
- title: "คำรับรอง"
67
+ title: "Testimonials"
68
68
  nps: "NPS"
69
69
  all_kinds: "ทุกประเภท"
70
70
  search: "ค้นหา"
@@ -64,7 +64,7 @@ tr:
64
64
  approved: "Onaylandı"
65
65
  archived: "Arşivlendi"
66
66
  dashboard:
67
- title: "Görüşler"
67
+ title: "Testimonials"
68
68
  nps: "NPS"
69
69
  all_kinds: "Tüm türler"
70
70
  search: "Ara"
@@ -64,7 +64,7 @@ uk:
64
64
  approved: "Схвалено"
65
65
  archived: "В архіві"
66
66
  dashboard:
67
- title: "Відгуки"
67
+ title: "Testimonials"
68
68
  nps: "NPS"
69
69
  all_kinds: "Усі типи"
70
70
  search: "Пошук"
@@ -64,7 +64,7 @@ ur:
64
64
  approved: "منظور شدہ"
65
65
  archived: "محفوظ شدہ"
66
66
  dashboard:
67
- title: "تعریفی کلمات"
67
+ title: "Testimonials"
68
68
  nps: "NPS"
69
69
  all_kinds: "تمام اقسام"
70
70
  search: "تلاش"
@@ -64,7 +64,7 @@ vi:
64
64
  approved: "Đã duyệt"
65
65
  archived: "Đã lưu trữ"
66
66
  dashboard:
67
- title: "Cảm nhận khách hàng"
67
+ title: "Testimonials"
68
68
  nps: "NPS"
69
69
  all_kinds: "Tất cả các loại"
70
70
  search: "Tìm kiếm"
@@ -64,7 +64,7 @@ zh-CN:
64
64
  approved: "已批准"
65
65
  archived: "已归档"
66
66
  dashboard:
67
- title: "用户评价"
67
+ title: "Testimonials"
68
68
  nps: "NPS"
69
69
  all_kinds: "所有类型"
70
70
  search: "搜索"
@@ -55,6 +55,12 @@ Testimonials.configure do |config|
55
55
  # config.avatars = true
56
56
  # config.max_avatar_size = 5.megabytes
57
57
 
58
+ # Store uploads (video, poster frame, avatars) on a specific Active Storage
59
+ # service from config/storage.yml — e.g. a dedicated bucket or folder that
60
+ # keeps testimonial media apart from the rest of your library. Default:
61
+ # your environment's default service.
62
+ # config.storage_service = :testimonials
63
+
58
64
  # Auto-prompt throttling. Explicit opens (user clicked your link) bypass it.
59
65
  # config.reprompt_after = 90.days
60
66
  # config.max_prompts = 3
@@ -52,6 +52,12 @@ module Testimonials
52
52
  attr_accessor :avatars
53
53
  attr_accessor :max_avatar_size
54
54
 
55
+ # The Active Storage service that stores uploads — video, its poster
56
+ # frame, guest avatars — as a service name from the host's
57
+ # config/storage.yml (e.g. a dedicated bucket or folder). nil, the
58
+ # default, uses the environment's default service.
59
+ attr_accessor :storage_service
60
+
55
61
  # Auto-prompt throttling. A user who dismissed the widget is not
56
62
  # auto-prompted again within `reprompt_after`; a user auto-prompted
57
63
  # `max_prompts` times without submitting is never auto-prompted again;
@@ -109,6 +115,7 @@ module Testimonials
109
115
  @max_video_size = 50 * 1024 * 1024
110
116
  @avatars = true
111
117
  @max_avatar_size = 5 * 1024 * 1024
118
+ @storage_service = nil
112
119
  @reprompt_after = 90 * 24 * 60 * 60
113
120
  @max_prompts = 3
114
121
  @consent_text = nil
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Testimonials
4
- VERSION = '0.6.0'
4
+ VERSION = '0.7.1'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: testimonials
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
4
+ version: 0.7.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yaroslav Shmarov