Class: S3Stream::Main

Inherits:
Thor
  • Object
show all
Defined in:
lib/s3stream/main.rb

Instance Method Summary collapse

Instance Method Details

#fetch(bucket_name, filename) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
# File 'lib/s3stream/main.rb', line 4

def fetch(bucket_name, filename)
  require 'open-uri'
  object = s3object(bucket_name, filename)
  uri = object.url_for(:read, :secure => true, :expires => 60 * 60) # 1 hour
  uri.open do |stream|
    buffer = ""
    until stream.eof?
      stream.readpartial(4096, buffer)
      $stdout.write(buffer)
    end
  end
end

#store(bucket_name, filename) ⇒ Object



18
19
20
21
22
23
24
25
26
27
28
# File 'lib/s3stream/main.rb', line 18

def store(bucket_name, filename)
  $stdout.sync = true
  object = s3object(bucket_name, filename)
  S3Stream::Upload.to(:s3object => object, :log_to => $stdout) do |out|
    buffer = ""
    until $stdin.eof?
      $stdin.readpartial(4096, buffer)
      out.write(buffer)
    end
  end
end