Skip to content

Instantly share code, notes, and snippets.

View freegenie's full-sized avatar

Fabrizio Regini freegenie

View GitHub Profile
@freegenie
freegenie / production.rake
Created January 31, 2014 08:50
Supposed to copy assets to non fingerprinted name
namespace :app do
task :nonfingerprint_assets => :environment do
fingerprint = /\-[0-9a-f]{32}\./
filemap = {}
Dir["public/assets/**/*"].each do |file|
next if file !~ fingerprint
next if File.directory?(file)
next if file.split(File::Separator).last =~ /^manifest/
nondigest = file.sub fingerprint, '.'
@freegenie
freegenie / gist:eebd004c67ac5d6afb45
Created February 9, 2015 11:54
desk.com multipass authentication
module DeskMultipass
URL_TEMPLATE = "https://%s.desk.com/customer/authentication/multipass/callback?multipass=%s&signature=%s"
def self.signed_url(user, redirect_to=nil)
raise "DESK_API_KEY is not set" if ENV['DESK_API_KEY'].blank?
raise "DESK_SUBDOMAIN is not set" if ENV['DESK_SUBDOMAIN'].blank?
# Create the encryption key using a 16 byte SHA1 digest of your api key and subdomain
key = Digest::SHA1.digest(ENV['DESK_API_KEY'] + ENV['DESK_SUBDOMAIN'])[0...16]
@freegenie
freegenie / unbox.sh
Last active August 29, 2015 14:16
Restore a wordpress instance from a WPEngine backup
#/bin/bash -l
# set -e # intentionally disabled
REMOTE_URL=$1 # Remote URL where to download the wpengine snapshot zip
DOMAIN=$2 # The new domain nme to use
GROUP=www-data
MYSQL_PW='your-password' # your database password even with special chars inside like >!- etc
USER=`stat --format '%U' . ` # this line takes the username from the owner of the current folder
qnt0 = 'cemento.txt'
if File.exists?(qnt0)
cemento = File.read('cemento.txt').to_i
else
cemento = 100
File.write(qnt0, cemento)
end
prod0 = 'cemento'
@freegenie
freegenie / apache-wordpress.conf
Created June 30, 2015 08:52
Protect Wordpress installation with Fail2ban against xmlrpc attacks
[Definition]
failregex = ^<HOST> - - \[.+\] "POST /xmlrpc.php HTTP/1.(1|0)
ignoreregex =
# Git hook to switch config files made for a Rails app
# Looks for config file named like the branch.
#
# i.e.: database.mybranch.yml
#
# If the file is found, copies that to the actual config
# overwriting the previous one.
#
# The third parameter is 1 when we are switching branches
#
class Asset
include MongoMapper::Document
plugin Joint
# Next time use '#' hash mark to crop images. i.e. #200x250
Thumbs = { :detail => "440x300>", :medium => "220x150>", :little => "100x60>", :highlights => 'crop-200x250' }
attachment :file
#!/bin/bash
# This script is supposed to be executed on the
# machine which hosts the database.
#
# What it does is to dump the entire database in
# separate directories, and then tgzip each single
# database.
# Example:
require 'rubygems'
require 'mongo_mapper'
require 'joint'
require 'shoulda'
MongoMapper.database = 'joint_exif_test'
class Photo
include MongoMapper::Document
require 'spec_helper'
describe Network::SearchController do
before do
request.env['HTTPS'] = 'on'
end
describe '#global' do
context 'anonymously' do