feedback_engine 0.4.1 → 0.4.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: 0dbeb9cc3333acd2485439cb1896536b2617595f980da907d79ddf0cdb9ccb6c
4
- data.tar.gz: a7f6907958921185994ea549d3a6ed987c567a4cc17019e281a8cf821fcbb89f
3
+ metadata.gz: 39367932533823837a4fd7aea327721b0a7602f1126c4aa22957da7f446e4216
4
+ data.tar.gz: 8083993df53341407986e39e1c35abdff31b81cb4e919757e541fe2213511658
5
5
  SHA512:
6
- metadata.gz: 8f9bc37eeafccb24cac72fc0ce2099a604e66325e9b4e966cebe622688517575c68154b6b9dce8fdc9b1791b3ed9bba1118fccf0c9e11b1bf6b4c229c003cadf
7
- data.tar.gz: 8ad4196a942eab2ce07a17a3fe9048b27015ca769251df5c777876914e7cbb93aa5e3f0168a13ac38ba920e55fd129d9c23d1064f3368eaadbacee25287da256
6
+ metadata.gz: 0a1c398155420791fab17aa5cfd0fadfd14402bbb08b13c551e7ae35f2409a5c22fb315980a92f5bd8edd69102b3e875533f71a3b61bc35ee35e26096dde8121
7
+ data.tar.gz: 31ad4cd63d5dba0dab5f97c237d3ebd49d54ed7bb78b7e13d890bc7f8df6bd41a199caebcdd9559f637e0479f63f1d2c48330ac70537470b9987f4c997faf9c8
data/CHANGELOG.md CHANGED
@@ -1,5 +1,14 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.4.2 (2026-07-25)
4
+
5
+ - The default title CTA (`feedback_engine.title`, used as the modal heading
6
+ and by host-rendered triggers) now reads "Send bug/feature request" instead
7
+ of "Send feedback", localized in all 26 bundled languages.
8
+ - The test suite migrated from RSpec to Minitest (development-only change;
9
+ nothing in the shipped gem is affected). `bundle exec rake test` and
10
+ `rake test:system` replace the rspec commands.
11
+
3
12
  ## 0.4.1 (2026-07-23)
4
13
 
5
14
  - The widget JavaScript moved from `app/assets/` to `lib/` (it was always
data/README.md CHANGED
@@ -171,10 +171,42 @@ any element and (optionally) hide the button:
171
171
  config.show_button = false # optional
172
172
  ```
173
173
 
174
+ Gate the trigger with the same check the widget uses — `feedback_engine_tag`
175
+ renders nothing when `config.enabled` rejects the request, so an unguarded
176
+ trigger would be a dead button for those users. The gem ships a
177
+ `feedback_engine.title` label ("Send bug/feature request") in every bundled language, so
178
+ a localized trigger needs no keys of your own:
179
+
174
180
  ```erb
175
- <button data-feedback-engine-open>Send feedback</button>
181
+ <% if FeedbackEngine.enabled?(request) %>
182
+ <button data-feedback-engine-open><%= t("feedback_engine.title") %></button>
183
+ <% end %>
176
184
  ```
177
185
 
186
+ ### Loading the widget only where it's used
187
+
188
+ `feedback_engine_tag` in the layout puts the widget on every page. If your
189
+ only trigger lives on one page, render the tag on that page instead — for
190
+ example into the layout's `<head>` via `content_for`:
191
+
192
+ ```erb
193
+ <%# app/views/layouts/application.html.erb %>
194
+ <head>
195
+ ...
196
+ <%= yield :head %>
197
+ </head>
198
+
199
+ <%# app/views/users/show.html.erb — the page with the trigger %>
200
+ <% content_for :head, feedback_engine_tag %>
201
+ ```
202
+
203
+ This is Turbo-safe: the script installs its document-level listeners once per
204
+ session and re-renders on `turbo:load` (see [Turbo](#turbo)), whether it
205
+ arrives on the first page load or a later visit. The trade-off: a
206
+ `data-feedback-engine-open` element on a page that never rendered the tag
207
+ silently does nothing — if triggers may appear on several pages, keep the tag
208
+ in the layout.
209
+
178
210
  ### Protecting the dashboard
179
211
 
180
212
  The dashboard (index/show/triage) is gated by `config.authorize_admin`, which
@@ -291,11 +323,12 @@ document-level listeners once and re-renders on `turbo:load`.
291
323
 
292
324
  ```bash
293
325
  bin/setup # or: bundle install
294
- bundle exec rspec # includes browser tests (headless Chrome)
326
+ bundle exec rake test # unit + integration
327
+ bundle exec rake test:system # browser tests (headless Chrome)
295
328
  bundle exec rubocop
296
329
  ```
297
330
 
298
- Tests run against a dummy Rails app under `spec/dummy`; the widget itself is
331
+ Tests run against a dummy Rails app under `test/dummy`; the widget itself is
299
332
  covered by Capybara system tests in a real browser. CI runs the suite across
300
333
  Rails 7.1 / 7.2 / 8.0 / 8.1 and Ruby 3.2–3.4 (per-version Gemfiles live in
301
334
  `gemfiles/`).
data/Rakefile CHANGED
@@ -1,8 +1,19 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'bundler/gem_tasks'
4
- require 'rspec/core/rake_task'
4
+ require 'rake/testtask'
5
5
 
6
- RSpec::Core::RakeTask.new(:spec)
6
+ Rake::TestTask.new(:test) do |t|
7
+ t.libs << 'test'
8
+ t.test_files = FileList['test/**/*_test.rb'].exclude('test/system/**/*')
9
+ end
7
10
 
8
- task default: :spec
11
+ namespace :test do
12
+ desc 'Run browser (system) tests'
13
+ Rake::TestTask.new(:system) do |t|
14
+ t.libs << 'test'
15
+ t.test_files = FileList['test/system/**/*_test.rb']
16
+ end
17
+ end
18
+
19
+ task default: :test
@@ -1,7 +1,7 @@
1
1
  ar:
2
2
  feedback_engine:
3
3
  button: "ملاحظات"
4
- title: "إرسال ملاحظات"
4
+ title: "الإبلاغ عن خطأ / طلب ميزة"
5
5
  kind: "النوع"
6
6
  kinds:
7
7
  bug: "الإبلاغ عن خطأ"
@@ -1,7 +1,7 @@
1
1
  bg:
2
2
  feedback_engine:
3
3
  button: "Обратна връзка"
4
- title: "Изпратете обратна връзка"
4
+ title: "Докладване на грешка / заявка за функция"
5
5
  kind: "Тип"
6
6
  kinds:
7
7
  bug: "Докладване на грешка"
@@ -1,7 +1,7 @@
1
1
  bn:
2
2
  feedback_engine:
3
3
  button: "মতামত"
4
- title: "মতামত পাঠান"
4
+ title: "ত্রুটি জানান / ফিচারের অনুরোধ করুন"
5
5
  kind: "ধরন"
6
6
  kinds:
7
7
  bug: "ত্রুটি জানান"
@@ -1,7 +1,7 @@
1
1
  de:
2
2
  feedback_engine:
3
3
  button: "Feedback"
4
- title: "Feedback senden"
4
+ title: "Fehler melden / Funktion vorschlagen"
5
5
  kind: "Art"
6
6
  kinds:
7
7
  bug: "Fehlerbericht"
@@ -1,7 +1,7 @@
1
1
  el:
2
2
  feedback_engine:
3
3
  button: "Σχόλια"
4
- title: "Αποστολή σχολίων"
4
+ title: "Αναφορά σφάλματος / αίτημα λειτουργίας"
5
5
  kind: "Τύπος"
6
6
  kinds:
7
7
  bug: "Αναφορά σφάλματος"
@@ -1,7 +1,7 @@
1
1
  en:
2
2
  feedback_engine:
3
3
  button: "Feedback"
4
- title: "Send feedback"
4
+ title: "Send bug/feature request"
5
5
  kind: "Type"
6
6
  kinds:
7
7
  bug: "Bug report"
@@ -1,7 +1,7 @@
1
1
  es:
2
2
  feedback_engine:
3
3
  button: "Comentarios"
4
- title: "Enviar comentarios"
4
+ title: "Reportar un error / pedir una función"
5
5
  kind: "Tipo"
6
6
  kinds:
7
7
  bug: "Informe de error"
@@ -1,7 +1,7 @@
1
1
  fr:
2
2
  feedback_engine:
3
3
  button: "Commentaires"
4
- title: "Envoyer un commentaire"
4
+ title: "Signaler un bug / demander une fonctionnalité"
5
5
  kind: "Type"
6
6
  kinds:
7
7
  bug: "Signaler un bug"
@@ -1,7 +1,7 @@
1
1
  hi:
2
2
  feedback_engine:
3
3
  button: "प्रतिक्रिया"
4
- title: "प्रतिक्रिया भेजें"
4
+ title: "बग रिपोर्ट / फ़ीचर अनुरोध भेजें"
5
5
  kind: "प्रकार"
6
6
  kinds:
7
7
  bug: "बग रिपोर्ट"
@@ -1,7 +1,7 @@
1
1
  hr:
2
2
  feedback_engine:
3
3
  button: "Povratne informacije"
4
- title: "Pošaljite povratne informacije"
4
+ title: "Prijavi grešku / predloži značajku"
5
5
  kind: "Vrsta"
6
6
  kinds:
7
7
  bug: "Prijava greške"
@@ -1,7 +1,7 @@
1
1
  id:
2
2
  feedback_engine:
3
3
  button: "Masukan"
4
- title: "Kirim masukan"
4
+ title: "Kirim laporan bug / permintaan fitur"
5
5
  kind: "Jenis"
6
6
  kinds:
7
7
  bug: "Laporan bug"
@@ -1,7 +1,7 @@
1
1
  it:
2
2
  feedback_engine:
3
3
  button: "Feedback"
4
- title: "Invia feedback"
4
+ title: "Segnala un errore / richiedi una funzionalità"
5
5
  kind: "Tipo"
6
6
  kinds:
7
7
  bug: "Segnala un errore"
@@ -1,7 +1,7 @@
1
1
  ja:
2
2
  feedback_engine:
3
3
  button: "フィードバック"
4
- title: "フィードバックを送信"
4
+ title: "バグ報告・機能リクエストを送信"
5
5
  kind: "種類"
6
6
  kinds:
7
7
  bug: "バグ報告"
@@ -1,7 +1,7 @@
1
1
  ko:
2
2
  feedback_engine:
3
3
  button: "피드백"
4
- title: "피드백 보내기"
4
+ title: "버그 신고 / 기능 요청 보내기"
5
5
  kind: "유형"
6
6
  kinds:
7
7
  bug: "버그 신고"
@@ -1,7 +1,7 @@
1
1
  lb:
2
2
  feedback_engine:
3
3
  button: "Feedback"
4
- title: "Feedback schécken"
4
+ title: "Feeler mellen / Funktioun ufroen"
5
5
  kind: "Typ"
6
6
  kinds:
7
7
  bug: "Feeler mellen"
@@ -1,7 +1,7 @@
1
1
  nl:
2
2
  feedback_engine:
3
3
  button: "Feedback"
4
- title: "Feedback versturen"
4
+ title: "Fout melden / functie aanvragen"
5
5
  kind: "Type"
6
6
  kinds:
7
7
  bug: "Fout melden"
@@ -1,7 +1,7 @@
1
1
  pl:
2
2
  feedback_engine:
3
3
  button: "Opinie"
4
- title: "Wyślij opinię"
4
+ title: "Zgłoś błąd / zaproponuj funkcję"
5
5
  kind: "Typ"
6
6
  kinds:
7
7
  bug: "Zgłoszenie błędu"
@@ -1,7 +1,7 @@
1
1
  pt:
2
2
  feedback_engine:
3
3
  button: "Feedback"
4
- title: "Enviar feedback"
4
+ title: "Relatar erro / sugerir funcionalidade"
5
5
  kind: "Tipo"
6
6
  kinds:
7
7
  bug: "Relatar erro"
@@ -1,7 +1,7 @@
1
1
  ro:
2
2
  feedback_engine:
3
3
  button: "Feedback"
4
- title: "Trimite feedback"
4
+ title: "Raportează o eroare / cere o funcționalitate"
5
5
  kind: "Tip"
6
6
  kinds:
7
7
  bug: "Raportează o eroare"
@@ -1,7 +1,7 @@
1
1
  ru:
2
2
  feedback_engine:
3
3
  button: "Обратная связь"
4
- title: "Отправить отзыв"
4
+ title: "Сообщить об ошибке / предложить функцию"
5
5
  kind: "Тип"
6
6
  kinds:
7
7
  bug: "Сообщить об ошибке"
@@ -1,7 +1,7 @@
1
1
  th:
2
2
  feedback_engine:
3
3
  button: "ข้อเสนอแนะ"
4
- title: "ส่งข้อเสนอแนะ"
4
+ title: "ส่งรายงานข้อบกพร่อง / ขอฟีเจอร์"
5
5
  kind: "ประเภท"
6
6
  kinds:
7
7
  bug: "รายงานข้อบกพร่อง"
@@ -1,7 +1,7 @@
1
1
  tr:
2
2
  feedback_engine:
3
3
  button: "Geri bildirim"
4
- title: "Geri bildirim gönder"
4
+ title: "Hata bildir / özellik iste"
5
5
  kind: "Tür"
6
6
  kinds:
7
7
  bug: "Hata bildirimi"
@@ -1,7 +1,7 @@
1
1
  uk:
2
2
  feedback_engine:
3
3
  button: "Відгук"
4
- title: "Надіслати відгук"
4
+ title: "Повідомити про помилку / запропонувати функцію"
5
5
  kind: "Тип"
6
6
  kinds:
7
7
  bug: "Повідомити про помилку"
@@ -1,7 +1,7 @@
1
1
  ur:
2
2
  feedback_engine:
3
3
  button: "رائے"
4
- title: "رائے بھیجیں"
4
+ title: "خرابی کی اطلاع / فیچر کی درخواست بھیجیں"
5
5
  kind: "قسم"
6
6
  kinds:
7
7
  bug: "خرابی کی اطلاع"
@@ -1,7 +1,7 @@
1
1
  vi:
2
2
  feedback_engine:
3
3
  button: "Phản hồi"
4
- title: "Gửi phản hồi"
4
+ title: "Gửi báo lỗi / yêu cầu tính năng"
5
5
  kind: "Loại"
6
6
  kinds:
7
7
  bug: "Báo lỗi"
@@ -1,7 +1,7 @@
1
1
  zh-CN:
2
2
  feedback_engine:
3
3
  button: "反馈"
4
- title: "发送反馈"
4
+ title: "提交错误报告 / 功能请求"
5
5
  kind: "类型"
6
6
  kinds:
7
7
  bug: "错误报告"
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module FeedbackEngine
4
- VERSION = '0.4.1'
4
+ VERSION = '0.4.2'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: feedback_engine
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.1
4
+ version: 0.4.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yaroslav Shmarov