Class: RightAws::S3Generator::Key
- Inherits:
-
Object
- Object
- RightAws::S3Generator::Key
- Defined in:
- lib/s3/right_s3.rb
Instance Attribute Summary collapse
-
#bucket ⇒ Object
readonly
Returns the value of attribute bucket.
-
#name ⇒ Object
readonly
Returns the value of attribute name.
Instance Method Summary collapse
-
#delete(expires = nil, headers = {}) ⇒ Object
Generate link to delete key.
-
#full_name(separator = '/') ⇒ Object
Return a full S# name (bucket/key).
-
#get(expires = nil, headers = {}, response_params = {}) ⇒ Object
Generate link to GET key data.
-
#head(expires = nil, headers = {}) ⇒ Object
Generate link to head key.
-
#initialize(bucket, name, meta_headers = {}) ⇒ Key
constructor
A new instance of Key.
-
#public_link ⇒ Object
Return a public link to key.
-
#put(expires = nil, headers = {}) ⇒ Object
Generate link to PUT key data.
- #to_s ⇒ Object
Constructor Details
#initialize(bucket, name, meta_headers = {}) ⇒ Key
Returns a new instance of Key.
1083 1084 1085 1086 1087 1088 |
# File 'lib/s3/right_s3.rb', line 1083 def initialize(bucket, name, ={}) @bucket = bucket @name = name.to_s @meta_headers = raise 'Key name can not be empty.' if @name.right_blank? end |
Instance Attribute Details
#bucket ⇒ Object (readonly)
Returns the value of attribute bucket.
1060 1061 1062 |
# File 'lib/s3/right_s3.rb', line 1060 def bucket @bucket end |
#name ⇒ Object (readonly)
Returns the value of attribute name.
1060 1061 1062 |
# File 'lib/s3/right_s3.rb', line 1060 def name @name end |
Instance Method Details
#delete(expires = nil, headers = {}) ⇒ Object
Generate link to delete key.
bucket.delete(2.hour) #=> https://s3.amazonaws.com:443/my_awesome_bucket/logs%2Ftoday%2F1.log?Signature=4...D&Expires=1180820032&AWSAccessKeyId=1...2
1110 1111 1112 |
# File 'lib/s3/right_s3.rb', line 1110 def delete(expires=nil, headers={}) @bucket.s3.interface.delete_link(@bucket.to_s, @name, expires, headers) end |
#full_name(separator = '/') ⇒ Object
Return a full S# name (bucket/key).
key.full_name #=> 'my_awesome_bucket/cool_key'
1070 1071 1072 |
# File 'lib/s3/right_s3.rb', line 1070 def full_name(separator='/') "#{@bucket.to_s}#{separator}#{@name}" end |
#get(expires = nil, headers = {}, response_params = {}) ⇒ Object
Generate link to GET key data.
bucket.get('logs/today/1.log', 1.hour) #=> https://s3.amazonaws.com:443/my_awesome_bucket/logs%2Ftoday%2F1.log?Signature=h...M%3D&Expires=1180820032&AWSAccessKeyId=1...2
1102 1103 1104 |
# File 'lib/s3/right_s3.rb', line 1102 def get(expires=nil, headers={}, response_params={}) @bucket.s3.interface.get_link(@bucket.to_s, @name, expires, headers, response_params) end |
#head(expires = nil, headers = {}) ⇒ Object
Generate link to head key.
bucket.head(2.hour) #=> https://s3.amazonaws.com:443/my_awesome_bucket/logs%2Ftoday%2F1.log?Signature=4...D&Expires=1180820032&AWSAccessKeyId=1...2
1118 1119 1120 |
# File 'lib/s3/right_s3.rb', line 1118 def head(expires=nil, headers={}) @bucket.s3.interface.head_link(@bucket.to_s, @name, expires, headers) end |
#public_link ⇒ Object
Return a public link to key.
key.public_link #=> 'https://s3.amazonaws.com:443/my_awesome_bucket/cool_key'
1078 1079 1080 1081 |
# File 'lib/s3/right_s3.rb', line 1078 def public_link params = @bucket.s3.interface.params "#{params[:protocol]}://#{params[:server]}:#{params[:port]}/#{full_name('/')}" end |
#put(expires = nil, headers = {}) ⇒ Object
Generate link to PUT key data.
puts bucket.put('logs/today/1.log', '123', 2.hour) #=> https://s3.amazonaws.com:443/my_awesome_bucket/logs%2Ftoday%2F1.log?Signature=B...D&Expires=1180820032&AWSAccessKeyId=1...2
1094 1095 1096 |
# File 'lib/s3/right_s3.rb', line 1094 def put(expires=nil, headers={}) @bucket.put(@name.to_s, @meta_headers, expires, headers) end |
#to_s ⇒ Object
1062 1063 1064 |
# File 'lib/s3/right_s3.rb', line 1062 def to_s @name end |