class FakeAWS::S3::RackApp

Public Class Methods

new(directory) click to toggle source
# File lib/fake_aws/s3/rack_app.rb, line 5
def initialize(directory)
  @directory = directory
end

Public Instance Methods

call(env) click to toggle source
# File lib/fake_aws/s3/rack_app.rb, line 9
def call(env)
  request = Request.new(env)
  operation_for(request).call
end

Private Instance Methods

get_put_operation_class(request) click to toggle source
# File lib/fake_aws/s3/rack_app.rb, line 31
def get_put_operation_class(request)
  case
    when request.has_key?
     Operations::PutObject
    else
      Operations::PutBucket
  end
end
operation_class(request) click to toggle source
# File lib/fake_aws/s3/rack_app.rb, line 20
def operation_class(request)
  case
    when request.put?
      get_put_operation_class(request)
    when request.get?
      Operations::GetObject
    else
      raise FakeAWS::UnsupportedRequestError
  end
end
operation_for(request) click to toggle source
# File lib/fake_aws/s3/rack_app.rb, line 16
def operation_for(request)
  operation_class(request).new(@directory, request)
end