Sha256: 9a7421296636e12ba2c2239dde79074bb21aa4cf0c34417723f663b2836f507f

Contents?: true

Size: 1.24 KB

Versions: 6

Compression:

Stored size: 1.24 KB

Contents

module HawkularUtilsMixin
  # Escapes the passed url part. This is necessary,
  # as many ids inside Hawkular can contain characters
  # that are invalid for an url/uri.
  # The passed value is duplicated
  # Does not escape the = character
  # @param [String] url_part Part of an url to be escaped
  # @return [String] escaped url_part as new string
  def hawk_escape(url_part)
    return url_part.to_s if url_part.is_a?(Numeric)

    if url_part.is_a? Symbol
      sub_url = url_part.to_s
    else
      sub_url = url_part.dup
    end
    sub_url.gsub!('%', '%25')
    sub_url.gsub!(' ', '%20')
    sub_url.gsub!('[', '%5b')
    sub_url.gsub!(']', '%5d')
    sub_url.gsub!('|', '%7c')
    sub_url.gsub!('(', '%28')
    sub_url.gsub!(')', '%29')
    sub_url.gsub!('/', '%2f')
    sub_url
  end

  # Escapes the passed url part. This is necessary,
  # as many ids inside Hawkular can contain characters
  # that are invalid for an url/uri.
  # The passed value is duplicated
  # Does escape the = character
  # @param [String] url_part Part of an url to be escaped
  # @return [String] escaped url_part as new string
  def hawk_escape_id(url_part)
    sub_url = hawk_escape url_part
    sub_url.gsub!('=', '%3d')
    sub_url.gsub!(';', '%3b')
    sub_url
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
hawkular-client-2.8.0 lib/hawkular/hawkular_client_utils.rb
hawkular-client-2.7.0 lib/hawkular/hawkular_client_utils.rb
hawkular-client-2.6.0 lib/hawkular/hawkular_client_utils.rb
hawkular-client-2.5.0 lib/hawkular/hawkular_client_utils.rb
hawkular-client-2.4.0 lib/hawkular/hawkular_client_utils.rb
hawkular-client-2.3.0 lib/hawkular/hawkular_client_utils.rb