Skip to content

Instantly share code, notes, and snippets.

@macek
macek / 20101004063749_create_photos.rb
Created October 4, 2010 22:38
How to save uploaded files to your database in Rails
# db/migrate/20101004063749_create_photos.rb
class CreatePhotos < ActiveRecord::Migration
def self.up
create_table :photos do |t|
t.string :name, :null => false
t.binary :data, :null => false
t.string :filename
t.string :mime_type
t.timestamps
@macek
macek / correct_crontab.sh
Created September 24, 2010 20:37
Running Rake tasks in Engine Yard Crontab
cd /data/MyApp/current && /usr/bin/rake some:task
@macek
macek / pear-lion-install.md
Created October 20, 2011 16:03
PEAR on OS X Lion

After upgrading to OSX Lion, I discovered that both PEAR and PECL had gone missing. It turns out that you have to re-install them, but luckily it's quite simple. I found this quick guide from Ruggero De Pellegrini on Google+, and thought I would share the info to save you the confusion:

  1. Download the installer curl http://pear.php.net/go-pear.phar > go-pear.php
  2. Start the installation procedure with sudo sudo php -q go-pear.php
  3. Select a new installation base ($prefix) e.g. /usr/local
  4. Proceed with the install.
  5. If there is no /etc/php.ini file yet, copy the default sudo cp /etc/php.ini.default /etc/php.ini
  6. Edit /etc/php.ini and change the line ;include_path = ".:/php/includes" to include_path = ".:/usr/local/share/pear"
  7. Add /usr/local/bin/ to your path if you haven't already, e.g. in .profile
@macek
macek / advanced_output
Created September 24, 2010 20:44
Output Buffering with Ruby
A contents <<<
send this to a
this goes to a
a, I forgot to add this
<<<
B contents <<<
this goes to b
b, please
<<<
require 'minitest/mock'
require 'minitest/unit'
require 'date'
MiniTest::Unit.autorun
class TestMailPurge < MiniTest::Unit::TestCase
class MailPurge
def initialize(imap)
@imap = imap
@macek
macek / careful.md
Created July 18, 2013 16:24
be careful :)

Be careful not to outdent content under a "|" character

some:
  thing:
    hello_html: |
    <p>
      this is some text
    </p>

Setup

This gist tests various aspects of syslog from Ruby. In order to do so you have to setup syslog first.

Setting up syslog is system-specific and quite variable because of variations like rsyslogd or syslogd-ng. OSX, for example, uses a custom system logger (the apple system logger) that supports the syslog API, but also adds additional stuff like the 'syslog' command line application.

@macek
macek / rails_edu.md
Created December 5, 2012 21:20
Things I learned from rails src

1. see a selection of routes

$ rake routes CONTROLLER=foo

2. remove heredoc indenting

require 'active_support/core_ext/string'
BREW_POSTGRES_DIR=`brew info postgres | awk '{print $1"/bin"}' | grep "/postgresql/"`
LION_POSTGRES_DIR=`which postgres | xargs dirname`
LION_PSQL_DIR=`which psql | xargs dirname`
sudo mkdir -p $LION_POSTGRES_DIR/archive
sudo mkdir -p $LION_PSQL_DIR/archive
for i in `ls $BREW_POSTGRES_DIR`
do
if [ -f $LION_POSTGRES_DIR/$i ]
# Super Lasagna
**disclaimer:** the sauce is the hardest part to measure because all jars are different sizes and depending on the depth of your lasagna pan, you will only be able to make so many layers. this is sort of a trial and error thing. I would start with 3 jars of whatever sauce you pick out. you're looking for around 60 oz of sauce.
## Ingredients
**meat**
1 pound italian sausage
2 tbsp olive oil
crushed red chili pepper (add as much as you want to achieve desired heat level)