Sha256: 8c5c0d0de46178bfe1b158edac065a5ff52b47c8158364856f8aa0c0809182ca

Contents?: true

Size: 570 Bytes

Versions: 9

Compression:

Stored size: 570 Bytes

Contents

# frozen_string_literal: true

module Buildkit
  module HeaderLinkParser
    module_function

    def parse_link_header(link_header)
      {}.tap do |hash_link|
        link_header.split(',').each do |link|
          link_obj = LinkParser.new(link)
          hash_link[link_obj.name] = link_obj.link
        end
      end
    end

    class LinkParser
      def initialize(value)
        @value = value
      end

      def name
        @name ||= @value[/rel="(.*)"/, 1].to_sym
      end

      def link
        @link ||= @value[/<(.+)>/, 1]
      end
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
buildkit-1.6.1 lib/buildkit/header_link_parser.rb
buildkit-1.6.0 lib/buildkit/header_link_parser.rb
buildkit-1.5.0 lib/buildkit/header_link_parser.rb
buildkit-1.4.6 lib/buildkit/header_link_parser.rb
buildkit-1.4.5 lib/buildkit/header_link_parser.rb
buildkit-1.4.4 lib/buildkit/header_link_parser.rb
buildkit-1.4.3 lib/buildkit/header_link_parser.rb
buildkit-1.4.2 lib/buildkit/header_link_parser.rb
buildkit-1.4.1 lib/buildkit/header_link_parser.rb