Class: S3Gzip::Writer
- Inherits:
-
Object
- Object
- S3Gzip::Writer
- Defined in:
- lib/s3gzip/writer.rb
Instance Attribute Summary collapse
-
#bucket ⇒ Object
readonly
Returns the value of attribute bucket.
-
#filename ⇒ Object
readonly
Returns the value of attribute filename.
Class Method Summary collapse
Instance Method Summary collapse
- #close_and_send ⇒ Object
- #closed? ⇒ Boolean
-
#initialize(access_key_id, secret_access_key, bucket, filename) ⇒ Writer
constructor
A new instance of Writer.
- #write(*args) ⇒ Object
Constructor Details
#initialize(access_key_id, secret_access_key, bucket, filename) ⇒ Writer
Returns a new instance of Writer.
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/s3gzip/writer.rb', line 9 def initialize(access_key_id, secret_access_key, bucket, filename) @access_key_id = access_key_id @secret_access_key = secret_access_key @bucket = bucket @filename = filename AWS::S3::Base.establish_connection!( :access_key_id => @access_key_id, :secret_access_key => @secret_access_key ) @io = StringIO.new() @gzip_writer = Zlib::GzipWriter.new(@io) end |
Instance Attribute Details
#bucket ⇒ Object (readonly)
Returns the value of attribute bucket.
6 7 8 |
# File 'lib/s3gzip/writer.rb', line 6 def bucket @bucket end |
#filename ⇒ Object (readonly)
Returns the value of attribute filename.
7 8 9 |
# File 'lib/s3gzip/writer.rb', line 7 def filename @filename end |
Class Method Details
.open(*args) ⇒ Object
40 41 42 43 44 45 46 |
# File 'lib/s3gzip/writer.rb', line 40 def self.open(*args) writer = new(*args) return writer unless block_given? yield writer ensure writer.close_and_send if block_given? end |
.write(access_key_id, secret_access_key, bucket, filename, value) ⇒ Object
48 49 50 51 52 |
# File 'lib/s3gzip/writer.rb', line 48 def self.write(access_key_id, secret_access_key, bucket, filename, value) writer = new(access_key_id, secret_access_key, bucket, filename) writer.write(value) writer.close_and_send end |
Instance Method Details
#close_and_send ⇒ Object
33 34 35 36 37 38 |
# File 'lib/s3gzip/writer.rb', line 33 def close_and_send unless self.closed? @gzip_writer.close AWS::S3::S3Object.store(@filename, @io.string, @bucket) end end |
#closed? ⇒ Boolean
25 26 27 |
# File 'lib/s3gzip/writer.rb', line 25 def closed? not @gzip_writer.nil? and @gzip_writer.closed? end |
#write(*args) ⇒ Object
29 30 31 |
# File 'lib/s3gzip/writer.rb', line 29 def write(*args) @gzip_writer.write(*args) end |