class Miasma::Contrib::AzureApiCore::Signature
Base signature class
Public Class Methods
new(*args)
click to toggle source
Create new instance
# File lib/miasma/contrib/azure.rb, line 82 def initialize(*args) raise NotImplementedError.new 'This class should not be used directly!' end
Public Instance Methods
generate(http_method, path, opts={})
click to toggle source
Generate the signature
@param http_method [Symbol] HTTP request method @param path [String] request path @param opts [Hash] request options @return [String] signature
# File lib/miasma/contrib/azure.rb, line 92 def generate(http_method, path, opts={}) raise NotImplementedError end
safe_escape(string)
click to toggle source
URL string escape
@param string [String] string to escape @return [String] escaped string
# File lib/miasma/contrib/azure.rb, line 100 def safe_escape(string) string.to_s.gsub(/([^a-zA-Z0-9_.\-~])/) do '%' << $1.unpack('H2' * $1.bytesize).join('%').upcase end end