Sha256: 4371d54443702a7c805e803a1402ee57d931a0978e819dd1d43604f145372b91

Contents?: true

Size: 834 Bytes

Versions: 5

Compression:

Stored size: 834 Bytes

Contents

# frozen_string_literal: true

require 'addressable'

module Addressable
  class URI
    # @return [ActiveSupport:HashWithIndifferentAccess]
    def hash_query_values
      (query_values || {}).with_indifferent_access
    end

    def query_value(*args)
      if args.count == 1
        query_value_get(*args)
      elsif args.count == 2
        query_value_set(*args)
      else
        raise ::ArgumentError, "#{object.class}.#{__method__}: wrong number of arguments " \
                               "(given #{args.count}, expected 1..2)"
      end
    end

    private

    def query_value_get(name)
      hash_query_values[name]
    end

    def query_value_set(name, value)
      new_query_values = hash_query_values
      new_query_values[name] = value
      self.query_values = new_query_values

      self
    end
  end
end

Version data entries

5 entries across 5 versions & 2 rubygems

Version Path
eac_ruby_utils-0.124.0 lib/eac_ruby_utils/patches/addressable/uri/query_value.rb
eac_tools-0.97.2 sub/eac_ruby_utils/lib/eac_ruby_utils/patches/addressable/uri/query_value.rb
eac_ruby_utils-0.123.0 lib/eac_ruby_utils/patches/addressable/uri/query_value.rb
eac_ruby_utils-0.121.0 lib/eac_ruby_utils/patches/addressable/uri/query_value.rb
eac_ruby_utils-0.120.0 lib/eac_ruby_utils/patches/addressable/uri/query_value.rb