Class RightAws::S3Generator::Key
In: lib/s3/right_s3.rb
Parent: Object
RuntimeError AwsError AwsNoChange RightAWSParser RightErrorResponseParser RightHttp2xxParser AcfInterface SqsInterface SqsGen2Interface S3Interface Ec2 SdbInterface RightAwsBase ActiveSdbConnect ActiveSdb SqsGen2 S3 S3Generator Sqs RightDummyParser AWSErrorHandler AwsBenchmarkingBlock AwsUtils RightSaxParserCallback lib/sqs/right_sqs_interface.rb lib/sqs/right_sqs_gen2.rb lib/s3/right_s3.rb lib/acf/right_acf_interface.rb lib/sqs/right_sqs_gen2_interface.rb lib/sqs/right_sqs.rb lib/sdb/right_sdb_interface.rb lib/sdb/active_sdb.rb lib/ec2/right_ec2.rb lib/s3/right_s3_interface.rb lib/awsbase/right_awsbase.rb RightAwsBaseInterface VERSION RightAws dot/m_13_0.png

Methods

delete   full_name   get   head   new   public_link   put   to_s  

Attributes

bucket  [R] 
name  [R] 

Public Class methods

[Source]

      # File lib/s3/right_s3.rb, line 1053
1053:       def initialize(bucket, name, meta_headers={})
1054:         @bucket       = bucket
1055:         @name         = name.to_s
1056:         @meta_headers = meta_headers
1057:         raise 'Key name can not be empty.' if @name.blank?
1058:       end

Public Instance methods

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

[Source]

      # File lib/s3/right_s3.rb, line 1080
1080:       def delete(expires=nil,  headers={})
1081:         @bucket.s3.interface.delete_link(@bucket.to_s, @name, expires,  headers)
1082:       end

Return a full S# name (bucket/key).

 key.full_name #=> 'my_awesome_bucket/cool_key'

[Source]

      # File lib/s3/right_s3.rb, line 1040
1040:       def full_name(separator='/')
1041:         "#{@bucket.to_s}#{separator}#{@name}"
1042:       end

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

[Source]

      # File lib/s3/right_s3.rb, line 1072
1072:       def get(expires=nil, headers={})
1073:         @bucket.s3.interface.get_link(@bucket.to_s, @name, expires, headers)
1074:       end

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

[Source]

      # File lib/s3/right_s3.rb, line 1088
1088:       def head(expires=nil,  headers={})
1089:         @bucket.s3.interface.head_link(@bucket.to_s, @name, expires,  headers)
1090:       end

Return a public link to key.

 key.public_link #=> 'https://s3.amazonaws.com:443/my_awesome_bucket/cool_key'

[Source]

      # File lib/s3/right_s3.rb, line 1048
1048:       def public_link
1049:         params = @bucket.s3.interface.params
1050:         "#{params[:protocol]}://#{params[:server]}:#{params[:port]}/#{full_name('/')}"
1051:       end

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

[Source]

      # File lib/s3/right_s3.rb, line 1064
1064:       def put(expires=nil, headers={})
1065:         @bucket.put(@name.to_s, @meta_headers, expires, headers)
1066:       end

[Source]

      # File lib/s3/right_s3.rb, line 1032
1032:       def to_s
1033:         @name
1034:       end

[Validate]