Module: S3io

Defined in:
lib/s3io.rb,
lib/s3io/version.rb,
lib/s3io/wrapper.rb,
lib/s3io/read_wrapper.rb,
lib/s3io/write_wrapper.rb

Overview

A top-level module that provides an S3 wrapper class.

Defined Under Namespace

Classes: ReadWrapper, Wrapper, WriteWrapper

Constant Summary collapse

VERSION =
"1.0.0"

Class Method Summary collapse

Class Method Details

.open(s3object, mode_string = 'r', options = {}, &block) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/s3io/wrapper.rb', line 3

def self.open(s3object, mode_string = 'r', options = {}, &block)
  wrapper_class = case mode_string
  when 'r'
    ReadWrapper
  when 'w'
    WriteWrapper
  else
    fail "S3IO only supports 'r' or 'w' as access modes"
  end

  wrapper = wrapper_class.new(s3object, options)

  if block_given?
    result = yield wrapper if block_given?
    wrapper.close

    return result
  else
    return wrapper
  end
end

.reader(s3object, options = {}, &block) ⇒ Object



3
4
5
# File 'lib/s3io/read_wrapper.rb', line 3

def self.reader(s3object, options = {}, &block)
  open(s3object, 'r', options, &block)
end

.writer(s3object, options = {}, &block) ⇒ Object



3
4
5
# File 'lib/s3io/write_wrapper.rb', line 3

def self.writer(s3object, options = {}, &block)
  open(s3object, 'w', options, &block)
end