Skip to content

Instantly share code, notes, and snippets.

@mvasin
mvasin / config.ru
Created November 5, 2017 14:46
The slimmest app possible for uploading files to S3 using Shrine gem
require 'roda'
require 'shrine'
require 'shrine/storage/s3'
S3_OPTIONS = {
access_key_id: ENV.fetch('AWS_ACCESS_KEY_ID'),
secret_access_key: ENV.fetch('AWS_SECRET_ACCESS_KEY'),
region: ENV.fetch('AWS_REGION'),
bucket: ENV.fetch('AWS_BUCKET')
}.freeze
@mvasin
mvasin / config.ru
Created November 5, 2017 10:56
The simplest code possible to upload a file to a server
# uploads folder must exist.
require 'roda'
class App < Roda
route do |r|
r.root do
<<-HEREDOC
<html>
<body>
require 'roda'
require 'shrine'
require 'shrine/storage/s3'
S3_OPTIONS = {
access_key_id: ENV.fetch('AWS_ACCESS_KEY_ID'),
secret_access_key: ENV.fetch('AWS_SECRET_ACCESS_KEY'),
region: 'eu-central-1',
bucket: ENV.fetch('AWS_BUCKET')
}.freeze
require 'shrine'
require 'shrine/storage/s3'
S3_OPTIONS = {
access_key_id: ENV.fetch('AWS_ACCESS_KEY_ID'),
secret_access_key: ENV.fetch('AWS_SECRET_ACCESS_KEY'),
region: 'eu-central-1',
bucket: ENV.fetch('AWS_BUCKET')
}.freeze