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 =
'2.0.2'
Instance Attribute Summary collapse
Class Method Summary
collapse
Instance Method Summary
collapse
Instance Attribute Details
#aws_access_key_id ⇒ Object
121
122
123
|
# File 'lib/jeff.rb', line 121
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.
117
118
119
|
# File 'lib/jeff.rb', line 117
def aws_endpoint
@aws_endpoint
end
|
#aws_secret_access_key ⇒ Object
125
126
127
|
# File 'lib/jeff.rb', line 125
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
105
106
|
# File 'lib/jeff.rb', line 91
def self.included(base)
base.extend(ClassMethods)
base.params(
'AWSAccessKeyId' => -> { aws_access_key_id },
'SignatureVersion' => '2',
'SignatureMethod' => 'HmacSHA256',
'Timestamp' => -> { Time.now.utc.iso8601 }
)
super
end
|
Instance Method Details
#connection ⇒ Object
A reusable HTTP connection.
109
110
111
|
# File 'lib/jeff.rb', line 109
def connection
@connection ||= Excon.new(aws_endpoint, connection_params)
end
|
#connection_params ⇒ Object
113
114
115
|
# File 'lib/jeff.rb', line 113
def connection_params
@connection_params ||= default_connection_params
end
|
#proxy=(url) ⇒ Object
129
130
131
|
# File 'lib/jeff.rb', line 129
def proxy=(url)
connection_params.store(:proxy, url)
end
|