Module: Jeff
- Defined in:
- lib/jeff.rb,
lib/jeff/version.rb
Overview
Jeff mixes in client behaviour for Amazon Web Services (AWS) that require Signature version 2 authentication.
Defined Under Namespace
Modules: ClassMethods, Utils Classes: Content, Query, Signature, Signer
Constant Summary collapse
- VERSION =
"1.4.0"
Instance Attribute Summary collapse
- #aws_access_key_id ⇒ Object
-
#aws_endpoint ⇒ Object
Returns the value of attribute aws_endpoint.
- #aws_secret_access_key ⇒ Object
Class Method Summary collapse
Instance Method Summary collapse
-
#connection ⇒ Object
A reusable HTTP connection.
- #connection_params ⇒ Object
Instance Attribute Details
#aws_access_key_id ⇒ Object
119 120 121 |
# File 'lib/jeff.rb', line 119 def aws_access_key_id @aws_access_key_id || ENV["AWS_ACCESS_KEY_ID"] end |
#aws_endpoint ⇒ Object
Returns the value of attribute aws_endpoint.
115 116 117 |
# File 'lib/jeff.rb', line 115 def aws_endpoint @aws_endpoint end |
#aws_secret_access_key ⇒ Object
123 124 125 |
# File 'lib/jeff.rb', line 123 def aws_secret_access_key @aws_secret_access_key || ENV["AWS_SECRET_ACCESS_KEY"] end |
Class Method Details
.included(base) ⇒ Object
91 92 93 94 95 96 97 98 99 100 101 102 103 104 |
# File 'lib/jeff.rb', line 91 def self.included(base) base.extend(ClassMethods) # Common parameters required by all AWS requests. # # Add other common parameters using `Jeff.params` if required in your # implementation. base.params( "AWSAccessKeyId" => -> { aws_access_key_id }, "SignatureVersion" => "2", "SignatureMethod" => "HmacSHA256", "Timestamp" => -> { Time.now.utc.iso8601 } ) end |
Instance Method Details
#connection ⇒ Object
A reusable HTTP connection.
107 108 109 |
# File 'lib/jeff.rb', line 107 def connection @connection ||= Excon.new(aws_endpoint, connection_params) end |
#connection_params ⇒ Object
111 112 113 |
# File 'lib/jeff.rb', line 111 def connection_params @connection_params ||= default_connection_params end |