openaustralia/planningalerts

View on GitHub
sorbet/rbi/gems/link_header@0.0.8.rbi

Summary

Maintainability
Test Coverage
# typed: true

# DO NOT EDIT MANUALLY
# This is an autogenerated file for types exported from the `link_header` gem.
# Please instead update this file by running `bin/tapioca gem link_header`.


# Represents an HTTP link header of the form described in the draft spec http://tools.ietf.org/id/draft-nottingham-http-link-header-06.txt.
# It is simply a list of LinkHeader::Link objects and some conversion functions.
#
# source://link_header//lib/link_header/version.rb#1
class LinkHeader
  # Initialize from a collection of either LinkHeader::Link objects or data from which Link objects can be created.
  #
  # From a list of LinkHeader::Link objects:
  #
  #   LinkHeader.new([
  #     LinkHeader::Link.new("http://example.com/foo", [["rel", "self"]]),
  #     LinkHeader::Link.new("http://example.com/",    [["rel", "up"]])])
  #
  # From the equivalent JSON-friendly raw data:
  #
  #   LinkHeader.new([
  #     ["http://example.com/foo", [["rel", "self"]]],
  #     ["http://example.com/",    [["rel", "up"]]]]).to_s
  #
  # See also LinkHeader.parse
  #
  # @return [LinkHeader] a new instance of LinkHeader
  #
  # source://link_header//lib/link_header.rb#29
  def initialize(links = T.unsafe(nil)); end

  # source://link_header//lib/link_header.rb#37
  def <<(link); end

  # Find a member link that has the given attributes
  #
  # source://link_header//lib/link_header.rb#108
  def find_link(*attr_pairs); end

  # An array of Link objects
  #
  # source://link_header//lib/link_header.rb#10
  def links; end

  # Convert to a JSON-friendly array
  #
  #   LinkHeader.parse('<http://example.com/foo>; rel="self", <http://example.com/>; rel = "up"').to_a
  #   #=> [["http://example.com/foo", [["rel", "self"]]],
  #        ["http://example.com/", [["rel", "up"]]]]
  #
  # source://link_header//lib/link_header.rb#49
  def to_a; end

  # Render as a list of HTML link elements
  #
  # source://link_header//lib/link_header.rb#119
  def to_html(separator = T.unsafe(nil)); end

  # Convert to string representation as per the link header spec
  #
  #   LinkHeader.new([
  #     ["http://example.com/foo", [["rel", "self"]]],
  #     ["http://example.com/",    [["rel", "up"]]]]).to_s
  #   #=> '<http://example.com/foo>; rel="self", <http://example.com/>; rel = "up"'
  #
  # source://link_header//lib/link_header.rb#61
  def to_s; end

  class << self
    # Parse a link header, returning a new LinkHeader object
    #
    #   LinkHeader.parse('<http://example.com/foo>; rel="self", <http://example.com/>; rel = "up"').to_a
    #   #=> [["http://example.com/foo", [["rel", "self"]]],
    #        ["http://example.com/", [["rel", "up"]]]]
    #
    # source://link_header//lib/link_header.rb#85
    def parse(link_header); end
  end
end

# source://link_header//lib/link_header.rb#74
LinkHeader::ATTR = T.let(T.unsafe(nil), Regexp)

# source://link_header//lib/link_header.rb#76
LinkHeader::COMMA = T.let(T.unsafe(nil), Regexp)

# Regexes for link header parsing.  TOKEN and QUOTED in particular should conform to RFC2616.
#
# Acknowledgement: The QUOTED regexp is based on
# http://stackoverflow.com/questions/249791/regexp-for-quoted-string-with-escaping-quotes/249937#249937
#
# source://link_header//lib/link_header.rb#71
LinkHeader::HREF = T.let(T.unsafe(nil), Regexp)

# Represents a link - an href and a list of attributes (key value pairs)
#
#   LinkHeader::Link.new("http://example.com/foo", [["rel", "self"]]).to_s
#   => '<http://example.com/foo>; rel="self"'
#
# source://link_header//lib/link_header.rb#129
class LinkHeader::Link
  # Initialize a Link from an href and attribute list
  #
  #   LinkHeader::Link.new("http://example.com/foo", [["rel", "self"]]).to_s
  #   => '<http://example.com/foo>; rel="self"'
  #
  # @return [Link] a new instance of Link
  #
  # source://link_header//lib/link_header.rb#152
  def initialize(href, attr_pairs); end

  # Access #attrs by key
  #
  # source://link_header//lib/link_header.rb#171
  def [](key); end

  # The link's attributes, an array of key-value pairs
  #
  #   LinkHeader::Link.new("http://example.com/foo", [["rel", "self"], ["rel", "canonical"]]).attr_pairs
  #   => [["rel", "self"], ["rel", "canonical"]]
  #
  # source://link_header//lib/link_header.rb#144
  def attr_pairs; end

  # Lazily convert the attribute list to a Hash
  #
  # Beware repeated attribute names (it's safer to use #attr_pairs if this is risk):
  #
  #   LinkHeader::Link.new("http://example.com/foo", [["rel", "self"], ["rel", "canonical"]]).attrs
  #   => {"rel" =>"canonical"}
  #
  # source://link_header//lib/link_header.rb#164
  def attrs; end

  # The link's URI string
  #
  #   LinkHeader::Link.new("http://example.com/foo", [["rel", "self"]]).href
  #   => 'http://example.com/foo>'
  #
  # source://link_header//lib/link_header.rb#136
  def href; end

  # Convert to a JSON-friendly Array
  #
  #   LinkHeader::Link.new("http://example.com/foo", [["rel", "self"], ["rel", "canonical"]]).to_a
  #   => ["http://example.com/foo", [["rel", "self"], ["rel", "canonical"]]]
  #
  # source://link_header//lib/link_header.rb#181
  def to_a; end

  # Bonus!  Render as an HTML link element
  #
  #   LinkHeader::Link.new(["http://example.com/foo", [["rel", "self"]]]).to_html
  #   #=> '<link href="http://example.com/foo" rel="self">'
  #
  # source://link_header//lib/link_header.rb#203
  def to_html; end

  # Convert to string representation as per the link header spec.  This includes backspace-escaping doublequote characters in
  # quoted attribute values.
  #
  # Convert to string representation as per the link header spec
  #
  #   LinkHeader::Link.new(["http://example.com/foo", [["rel", "self"]]]).to_s
  #   #=> '<http://example.com/foo>; rel="self"'
  #
  # source://link_header//lib/link_header.rb#194
  def to_s; end
end

# source://link_header//lib/link_header.rb#73
LinkHeader::QUOTED = T.let(T.unsafe(nil), Regexp)

# source://link_header//lib/link_header.rb#75
LinkHeader::SEMI = T.let(T.unsafe(nil), Regexp)

# source://link_header//lib/link_header.rb#72
LinkHeader::TOKEN = T.let(T.unsafe(nil), Regexp)

# source://link_header//lib/link_header/version.rb#2
LinkHeader::VERSION = T.let(T.unsafe(nil), String)