diff options
author | Starfall <us@starfall.systems> | 2022-03-22 11:16:06 -0500 |
---|---|---|
committer | Starfall <us@starfall.systems> | 2022-03-22 11:16:06 -0500 |
commit | f37056e6c351a08d09c3986586cc7d27bdea85ab (patch) | |
tree | c28aaff7e0b70ba0fea07d4335777e6676bff60e /app/helpers/jsonld_helper.rb | |
parent | 239d67fc2c0ec82617de50a9831bc1a9efc30ecc (diff) | |
parent | 9ff119eecd1079e52a8a41d7b8d61520c4303c2f (diff) |
Merge remote-tracking branch 'glitch/main'
Diffstat (limited to 'app/helpers/jsonld_helper.rb')
-rw-r--r-- | app/helpers/jsonld_helper.rb | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/app/helpers/jsonld_helper.rb b/app/helpers/jsonld_helper.rb index c6557817d..102e4b132 100644 --- a/app/helpers/jsonld_helper.rb +++ b/app/helpers/jsonld_helper.rb @@ -15,6 +15,14 @@ module JsonLdHelper value.is_a?(Array) ? value.first : value end + def uri_from_bearcap(str) + if str&.start_with?('bear:') + Addressable::URI.parse(str).query_values['u'] + else + str + end + end + # The url attribute can be a string, an array of strings, or an array of objects. # The objects could include a mimeType. Not-included mimeType means it's text/html. def url_to_href(value, preferred_type = nil) @@ -54,7 +62,7 @@ module JsonLdHelper end def unsupported_uri_scheme?(uri) - !uri.start_with?('http://', 'https://') + uri.nil? || !uri.start_with?('http://', 'https://') end def invalid_origin?(url) |