Sha256: 2acf8df1b46de02ce920eac1f9114551d693452acc2c62ccac7e46f04094d566
Contents?: true
Size: 1.05 KB
Versions: 1
Compression:
Stored size: 1.05 KB
Contents
# frozen_string_literal: true module LinkHeaderParser class LinkHeaderParameter PARAMETER_REGEXP_PATTERN = /^(?<name>.+?)(?:="?(?<value>.*?)"?)?$/.freeze attr_reader :parameter # @param parameter [String] def initialize(parameter) @parameter = parameter.to_str end # @return [String] def inspect "#<#{self.class.name}:#{format('%#0x', object_id)} " \ "name: #{name.inspect}, " \ "value: #{value.inspect}>" end # @see https://tools.ietf.org/html/rfc8288#appendix-B.3 (Appendix B.3.2.9) # # @return [String] def name @name ||= parameter_match_data[:name].downcase end # @see https://tools.ietf.org/html/rfc8288#appendix-B.3 (Appendix B.3.2.8) # # @return [String] def value @value ||= parameter_match_data[:value].to_s end # @return [Array<String>] def to_ary [name, value] end alias to_a to_ary private def parameter_match_data @parameter_match_data ||= parameter.match(PARAMETER_REGEXP_PATTERN) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
link-header-parser-4.0.0 | lib/link_header_parser/link_header_parameter.rb |