Class: Miasma::Contrib::AwsApiCore::Signature
- Inherits:
-
Object
- Object
- Miasma::Contrib::AwsApiCore::Signature
- Defined in:
- lib/miasma/contrib/aws.rb
Overview
Base signature class
Direct Known Subclasses
Instance Method Summary collapse
-
#generate(http_method, path, opts = {}) ⇒ String
Generate the signature.
-
#initialize(*args) ⇒ Signature
constructor
Create new instance.
-
#safe_escape(string) ⇒ String
URL string escape compatible with AWS requirements.
Constructor Details
#initialize(*args) ⇒ Signature
Create new instance
132 133 134 |
# File 'lib/miasma/contrib/aws.rb', line 132 def initialize(*args) raise NotImplementedError, "This class should not be used directly!" end |
Instance Method Details
#generate(http_method, path, opts = {}) ⇒ String
Generate the signature
142 143 144 |
# File 'lib/miasma/contrib/aws.rb', line 142 def generate(http_method, path, opts = {}) raise NotImplementedError end |
#safe_escape(string) ⇒ String
URL string escape compatible with AWS requirements
150 151 152 153 154 |
# File 'lib/miasma/contrib/aws.rb', line 150 def safe_escape(string) string.to_s.gsub(/([^a-zA-Z0-9_.\-~])/) do |match| "%" << match.unpack("H2" * match.bytesize).join("%").upcase end end |