spamtrap 0.3.3 → 0.3.4

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: d3ff3c236a80418a4048beacd5cb3ff88c555a45d4736a8ea743a97a924d1283
4
- data.tar.gz: 882c96f34aa70bfe8fab481704d96b97b8a9424c1d5b637140d7d60cb56abb30
3
+ metadata.gz: f1f9fa53d08c869e9952416e63376c31ed74f74584e9cf1e59f7439364c370d5
4
+ data.tar.gz: 4ecae5a00af343aa3c8856a3f2bcf04999bd37a0112d067d3d907e5b85b75e2a
5
5
  SHA512:
6
- metadata.gz: 2316d8928764a5071ff756e37717f3d52924f85f8e7fb34a6de9109bec0d103716e2cfe428456557d9664e0c117fb2c9c8b735d231c16440610ec391d77afb00
7
- data.tar.gz: db528095a79dc96011fad7ee831f7164650c3d3cfb92004ea6edced38fec1aa39df5ce87d4cef793631c713ccc668dd040f61b9e56d70c6b8b174338732ed9ec
6
+ metadata.gz: 825936fb38cb3095ecf504c42aff353081a8352539a535beff67d85ef2423fc4e7bac328c107d48d5d0ed092ea1b508be6bb06e7490c33cceb2f230a0c89e45a
7
+ data.tar.gz: c35648761da54aab75b8b8d587f24d4ccfbfb03210d23ed930fbdbea2743876de9a795d19980acac9bac45b92e7bbe94621f8419440031d2e15412b6876e041a
@@ -43,7 +43,22 @@ module Spamtrap
43
43
 
44
44
  super(encrypted_field, *args, opts, &blk)
45
45
  when :label
46
- # label renders a <label> element and does not read a value from the model object
46
+ # Preserve the human-readable label text using the real field name
47
+ # before substituting the encrypted form. Mirrors Rails' own
48
+ # resolution order:
49
+ # 1. explicit text argument — kept as-is
50
+ # 2. activerecord.attributes.Model.field (ActiveRecord models)
51
+ # 3. helpers.label.object_name.field (plain objects / form_with)
52
+ # 4. humanize fallback
53
+ unless args.first.is_a?(String)
54
+ human_text =
55
+ if object.respond_to?(:to_model)
56
+ object.class.human_attribute_name(field.to_s, default: field.to_s.humanize)
57
+ else
58
+ I18n.t(field, scope: [:helpers, :label, object_name], default: field.to_s.humanize)
59
+ end
60
+ args.unshift(human_text)
61
+ end
47
62
  super(encrypted_field, *args, opts, &blk)
48
63
  else
49
64
  opts[:value] = model_value unless opts.key?(:value)
@@ -1,5 +1,5 @@
1
1
  module Spamtrap
2
2
 
3
- VERSION = '0.3.3'
3
+ VERSION = '0.3.4'
4
4
 
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spamtrap
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.3
4
+ version: 0.3.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Cedric Howe