Skip to content

Instantly share code, notes, and snippets.

View danielpuglisi's full-sized avatar
💭
🤘

Daniel Puglisi danielpuglisi

💭
🤘
View GitHub Profile
@danielpuglisi
danielpuglisi / crontab
Last active October 9, 2015 10:38
Heroku keep alive
*/5 * * * * root /etc/cron.custom/keep-alive.sh
@danielpuglisi
danielpuglisi / keep-alive.sh
Created August 27, 2012 17:52
Heroku keep alive
#!/bin/bash
apps=( app1-demo app1-staging app2-draft )
for app in ${apps[@]}; do
host="http://$app.herokuapp.com"
curl --silent --output /var/log/keep-alive.txt -L $host
done
# Convert a locations response to an Array of Location Objects
#
# response - The Hash object from an API response
#
# Returns an array of Location objects, returns nil if the Hash is empty
def self.objectify(response)
response.empty? ? nil : response.map {|station| Rtransport::Location.new(station)}
end
# Hook to save the html page of every failed features into the temp
# # file directory taht it can be checked after cucumber has finished running.
require 'fileutils'
FAILED_FEATURES_PAGES_PATH = File.join Rails.root, 'tmp', 'failed_features'
FAILED_FEATURES_IMAGES_PATH = File.join Rails.root, 'tmp', 'failed_features_images'
FileUtils.rm_rf FAILED_FEATURES_PAGES_PATH
FileUtils.rm_rf FAILED_FEATURES_IMAGES_PATH
@danielpuglisi
danielpuglisi / migrate_from_jekyll_to_rails.rb
Last active April 29, 2016 17:51
A Rake Task which I wrote to migrate my Jekyll posts and categories to a custom Rails application I've built.
# A Ruby script to migrate Jekyll Posts to a custom Database
DIRECTORIES = ["tmp/blog/articles/_posts/*", "tmp/blog/startup/_posts/*",
"tmp/blog/productivity/_posts/*", "tmp/blog/music/_posts/*",
"tmp/blog/programming/_posts/*"]
def export(content, key)
match = content.match( /^---.*\n#{key}: ([^\n]*).*---$/m )
if match
match[1].gsub("\"", "")
@danielpuglisi
danielpuglisi / spec_helper.rb
Created May 8, 2013 20:41
Configure rspec or test/unit to autoreload factories with spring after they have changed.
RSpec.configure do |config|
config.before(:all) do
FactoryGirl.reload
end
end
@danielpuglisi
danielpuglisi / helpers.rb
Created July 23, 2013 12:42
Seiten application controller helper methods, inspired by devise
module Seiten
module Controllers
# Those helpers are convenience methods added to ApplicationController.
module Helpers
extend ActiveSupport::Concern
def current_page
@current_page ||= Seiten::Page.find_by_slug(request.fullpath)
end
end
@danielpuglisi
danielpuglisi / .gitignore
Last active December 21, 2015 04:18
Rails ENV variables: heroku development setup
# other stuff
config/env.rb
# other stuff
@danielpuglisi
danielpuglisi / build_pandoc_for_heroku.sh
Last active May 24, 2016 16:33 — forked from minrk/build_pandoc_for_heroku.sh
doing some magic for making pandoc work on heroku
# bring up the vagrant VM
sudo apt-get install vagrant
git clone https://bitbucket.org/puffnfresh/vagrant-haskell-heroku.git
cd vagrant-haskell-heroku
vagrant up
vagrant ssh
# run this in vagrant shell
cabal update
cabal install cabal-install
@danielpuglisi
danielpuglisi / users_controller.rb
Last active August 9, 2021 12:33
Rails examples: Single Table Inheritance (STI), strong parameters, single controller.
# Variant 1
def user_params(type)
params.require(type.to_sym).permit(attributes)
end
# Variant 2
def user_params(type)
case type
when "user"
params.require(:user).permit(user_attributes)