Skip to content

Instantly share code, notes, and snippets.

View danielwestendorf's full-sized avatar
:shipit:
shipping

Daniel Westendorf danielwestendorf

:shipit:
shipping
View GitHub Profile
class Upload < ApplicationRecord
validates :size, inclusion: { in: 0..2.megabytes }
def key
"#{id}/#{filename}"
end
def url
bucket.object(key).presigned_url(:get, expires_in: 604_800)
end
@danielwestendorf
danielwestendorf / Gemfile
Created September 30, 2016 23:32
Direct S3 Upload Gemfile
source "https://rubygems.org"
# ... Other gems ...
gem "aws-sdk"
<div class="sb-embed-example">
<div class="drop-in-simon">
<i class="fa fa-simplybuilt"></i>
</div>
</div>
<script type="text/javascript">
(function(SB, doc) {
SB.addCSS("https://s3.amazonaws.com/simplybuiltprod/embeds/sb-style.css", "sb-embed-styles", true);
SB.addCSS("https://maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css", "font-awesome", true);
SB.addCSS("http://fonts.googleapis.com/css?family=Open+Sans:700,300,600,800", "open-sans", true);
@danielwestendorf
danielwestendorf / gist:b35f5c7351b69e27737b
Created January 27, 2015 00:15
Populate stretch_marks
rails generate devise:async:stretch:populate_stretch_marks User
$ rails generate devise:async:stretch:install User
@danielwestendorf
danielwestendorf / Gemfile.rb
Created December 30, 2014 18:58
devise-async-stretch Gemfile.rb
gem 'devise-async-stretch'
@danielwestendorf
danielwestendorf / background.md
Created December 30, 2014 18:54
Devise User Creation with Background Stretching
UserModelTest#test_password_stretching_in_background (7 ms warmup)
    wall_time: 1 ms
    memory: unsupported
    objects: unsupported
    gc_runs: 0

gc_time: 0 ms

@danielwestendorf
danielwestendorf / Inline.md
Last active August 29, 2015 14:12
Devise User Creation w/ 10 Stretches
UserModelTest#test_password_stretching_inline (72ms warmup)
    wall_time: 64ms sec
    memory: unsupported
    objects: unsupported
    gc_runs: 0

gc_time: 0 ms

# routes.rb
resources :documents
# app/controllers/documents_controller.rb
class DocumentsController < ApplicationController
authenticate :user
find_and_authorize :documents, :edit, through: :memberships, only: [:edit, :update]
find_and_authorize :documents, :delete, through: :memberships, only: :destroy
end
# routes.rb
# Reports resource for Admins
resources :reports
# app/controllers/reports_controller.rb
class ReportsController < ApplicationController
authorize_resource :admin, :support
find_resource :report, from: :current_admin, except: [:index, :new, :create]
end