metadata_presenter 3.4.9 → 3.4.10
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:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 16c6a120a7bc4e66e2edab3d1a303d100c73f566adb55d921dbc89025262b590
|
|
4
|
+
data.tar.gz: 388908442477d54f6ab6af80938936c7ac48eee6a7f7b74998d71aab6f2f465e
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: b96724804dc1a34821537c278bc5264408cb92597889e0fde437795607b23a5934cada2a8ddeb97c5a1e4983eb549fb2912cc9cc7b0a6c4dff6311bc62dec9bd
|
|
7
|
+
data.tar.gz: aa348f238415662e6bfb884d5a89d33adb8e35a7991db94e669d96016e8d4dd886ecaed1edb8afca7370e2a8bbbaa9d4f62d4e6891caf1fab1f9eab3fe8e0b13
|
|
@@ -3,6 +3,7 @@ module MetadataPresenter
|
|
|
3
3
|
extend ActiveModel::Translation
|
|
4
4
|
include ActiveModel::Validations
|
|
5
5
|
include ActionView::Helpers
|
|
6
|
+
include SpecialCharacterUnescaper
|
|
6
7
|
|
|
7
8
|
DEFAULT_COUNTRY = 'United Kingdom'.freeze
|
|
8
9
|
FIELDS = %w[
|
|
@@ -35,7 +36,7 @@ module MetadataPresenter
|
|
|
35
36
|
end
|
|
36
37
|
|
|
37
38
|
def conform(address_field)
|
|
38
|
-
sanitize(address_field, tags: [], attributes: []).strip
|
|
39
|
+
unescape_special_characters(sanitize(address_field, tags: [], attributes: []).strip)
|
|
39
40
|
end
|
|
40
41
|
end
|
|
41
42
|
end
|
|
@@ -3,6 +3,7 @@ module MetadataPresenter
|
|
|
3
3
|
include ActiveModel::Model
|
|
4
4
|
include ActiveModel::Validations
|
|
5
5
|
include ActionView::Helpers
|
|
6
|
+
include SpecialCharacterUnescaper
|
|
6
7
|
attr_reader :page, :answers, :uploaded_files, :autocomplete_items
|
|
7
8
|
attr_accessor :count
|
|
8
9
|
|
|
@@ -37,7 +38,7 @@ module MetadataPresenter
|
|
|
37
38
|
elsif component && component.type == 'address'
|
|
38
39
|
address_answer(method_name.to_s)
|
|
39
40
|
else
|
|
40
|
-
sanitize(answers[method_name.to_s])
|
|
41
|
+
unescape_special_characters(sanitize(answers[method_name.to_s]))
|
|
41
42
|
end
|
|
42
43
|
end
|
|
43
44
|
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
module MetadataPresenter
|
|
2
|
+
module SpecialCharacterUnescaper
|
|
3
|
+
SPECIAL_CHARACTER_MAPPING = {
|
|
4
|
+
'&' => '&',
|
|
5
|
+
'\u0026' => '&',
|
|
6
|
+
'<' => '<',
|
|
7
|
+
'>' => '>'
|
|
8
|
+
}.freeze
|
|
9
|
+
|
|
10
|
+
def unescape_special_characters(text)
|
|
11
|
+
pattern = Regexp.union(SPECIAL_CHARACTER_MAPPING.keys)
|
|
12
|
+
text&.gsub(pattern) { |m| SPECIAL_CHARACTER_MAPPING[m] }
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: metadata_presenter
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 3.4.
|
|
4
|
+
version: 3.4.10
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- MoJ Forms
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2025-
|
|
11
|
+
date: 2025-12-03 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: govuk_design_system_formbuilder
|
|
@@ -363,6 +363,7 @@ files:
|
|
|
363
363
|
- app/models/metadata_presenter/row_number.rb
|
|
364
364
|
- app/models/metadata_presenter/saved_form.rb
|
|
365
365
|
- app/models/metadata_presenter/service.rb
|
|
366
|
+
- app/models/metadata_presenter/special_character_unescaper.rb
|
|
366
367
|
- app/models/metadata_presenter/traversed_pages.rb
|
|
367
368
|
- app/models/metadata_presenter/uploaded_file.rb
|
|
368
369
|
- app/operators/metadata_presenter/base_operator.rb
|