Class: RFC::Web::Link::Decoder
- Inherits:
-
Object
- Object
- RFC::Web::Link::Decoder
- Defined in:
- lib/rfc/web/link/decoder.rb
Overview
A HTTP header field decoder which adheres to RFC 8187.
Instance Method Summary collapse
- #call(text) ⇒ Object
-
#initialize(delimiter: "'", default_encoding: Encoding::UTF_8, client: URI) ⇒ Decoder
constructor
A new instance of Decoder.
Constructor Details
#initialize(delimiter: "'", default_encoding: Encoding::UTF_8, client: URI) ⇒ Decoder
Returns a new instance of Decoder.
10 11 12 13 14 |
# File 'lib/rfc/web/link/decoder.rb', line 10 def initialize delimiter: "'", default_encoding: Encoding::UTF_8, client: URI @delimiter = delimiter @default_encoding = default_encoding @client = client end |
Instance Method Details
#call(text) ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/rfc/web/link/decoder.rb', line 16 def call text value, encoding, language = parse text value = client.decode_uri_component(value) .force_encoding(encoding || default_encoding) .encode(default_encoding) {value:, encoding:, language:} rescue ArgumentError, NoMethodError {value: nil, encoding:, language:} end |