ActiveSupport::TimeZone.all.group_by(&:formatted_offset).each {|offset| puts "### UTC #{offset[0]}"; offset[1].each {|tz| puts "* #{tz.tzinfo.identifier}"}; puts "\n"};nil
- Pacific/Pago_Pago
- Pacific/Midway
- Pacific/Honolulu
module StringEnum | |
extend ActiveSupport::Concern | |
module ClassMethods | |
# ActiveRecord enum has undocumented support for enums with string rather than integer representations. | |
# To enable it you have to define an enum like so: | |
# | |
# enum field: { value1: 'value1', value2: 'value2' } | |
# | |
# which is rather redundant. This is a shortcut which lets you define it as follows: |
def model | |
@model ||= controller_name.classify.constantize | |
end | |
def record | |
@record ||= records.find(params[:id]) | |
end | |
def records | |
@records ||= policy_scope(model) # Requires Pundit |
require "bundler/inline" | |
gemfile(true) do | |
source "https://rubygems.org" | |
gem 'benchmark-ips' | |
gem 'benchmark-memory' | |
gem 'memo-it' | |
gem 'memoist' | |
gem 'memery' |
#!/usr/bin/env ruby | |
# Usage: dedup-imovie-library LIBRARY ORIGINALS | |
# | |
# Goes through an iMovie 10 library and replaces all the "Original Media" with | |
# symlinks to the actual original media, in order to conserve disk space. Note | |
# that because they're symlinks, if the path to the originals changes (e.g. you | |
# rename the external drive they are on) then the links will be broken. | |
# | |
# This assumes you've already imported the files into iMovie and waited for them |
def range_within_bounds(range, min, max) | |
min ||= range.min | |
max ||= range.max | |
[range.min, min].max .. [range.max, max].min | |
end |
begin | |
require 'bundler/inline' | |
rescue LoadError => e | |
$stderr.puts 'Bundler version 1.10 or later is required. Please update your Bundler' | |
raise e | |
end | |
gemfile(true) do | |
source 'https://rubygems.org' | |
gem 'rails', github: 'rails/rails' |
papertrail.rake
to lib/tasks
remote_syslog.yml
to config/
before_restart.rb
to deploy/
PAPERTRAIL_PORT
ENV var to the one provided by Papertrail for your systemInspiration from Scott W. Bradley
This setup will allow you to precompile assets locally and keep them separated depending on the environment. To precompile assets locally run RAILS_ENV=production COMPILE_ASSETS=1 rake assets:precompile
. Using an ENV var like this removes the need for having therubyracer or some other javascript engine on your server instances since they aren't actually running the precompilation task.