class AWS::S3::UploadedPart

def get_attribute(name)

def get_attribute(name)
  (resp = client.list_parts(:bucket_name => upload.object.bucket.name,
                            :key => upload.object.key,
                            :upload_id => upload.id,
                            :part_number_marker => part_number-1,
                            :max_parts => 1) and
   part = resp.parts.first and
   part.part_number == part_number and
   part.send(name)) or
    raise "part 3 of upload abc123 does not exist"
end