Skip to content

Instantly share code, notes, and snippets.

View clowder's full-sized avatar

Chris Lowder clowder

  • London
View GitHub Profile
@clowder
clowder / application_controller.rb
Created March 12, 2013 17:19
Seo Tags in Rails
class ApplicationController < ActionController::Base
helper_method :meta_title, :meta_description
private
attr_reader :meta_title, :meta_description
def set_meta_title(title)
@meta_title = title
end
@clowder
clowder / prompt-update.js
Last active December 14, 2015 08:38
A little javascript (script) to give you attribute updating with `prompt` & Rails UJS.
var jQuery = jQuery,
rails = jQuery.rails,
document = document;
(function($, rails, document) {
"use strict";
var PromptUpdate = {
defaults: { name: 'value', method: 'put' },
@clowder
clowder / gist:4067513
Created November 13, 2012 18:32
Prime multiplication table
#!/usr/bin/env ruby
require 'open-uri'
how_many = ARGV.pop || 10
how_many = how_many.to_i
module Prime
def self.take(count)
search_space = 2..count**2
search_space.select { |x| is_prime?(x) }.take(count)
@clowder
clowder / make.sh
Created November 13, 2012 12:15
Runit RPM (using fpm)
sudo yum -y install glibc-static
export DESTDIR="/tmp/runit_installdir"
rm -rf $DESTDIR
mkdir $DESTDIR
cd $DESTDIR
mkdir -p ./package ./service ./sbin ./usr/local/bin ./etc/init
echo -e """# for runit - manage /usr/sbin/runsvdir-start
@clowder
clowder / make.sh
Created November 12, 2012 16:17
Proj4 RPM (using fpm)
cd ~/
wget http://download.osgeo.org/proj/proj-4.8.0.tar.gz
tar xzf proj-4.8.0.tar.gz
cd proj-4.8.0
./configure --prefix=/usr
make
mkdir /tmp/installdir
make install DESTDIR=/tmp/installdir
cd ~/
fpm -s dir -t rpm --name proj --version 4.8.0 --verbose -C /tmp/installdir ./usr
@clowder
clowder / forcomp.rb
Created November 8, 2012 12:44
List Comprehension in Ruby
class ForComp
def initialize(*args)
if args.first.is_a? Hash
@context = Struct.new(*args.first.keys)
end
vars = args.first.is_a?(Hash) ? args.first.values : args
enum = init_enum(vars.shift)
@enumerator = vars.inject(enum) do |enum, var|
@clowder
clowder / multi_logger.rb
Created September 5, 2012 16:40
Logging to multiple destinations in Ruby
class MultiLogger
attr_reader :level
def initialize(args={})
@level = args[:level] || Logger::Severity::DEBUG
@loggers = []
Array(args[:loggers]).each { |logger| add_logger(logger) }
end
@clowder
clowder / gist:3426096
Created August 22, 2012 14:25
Spell Check in VIM

:setlocal spell spelllang=en_gb

]s Search Forward

]s Search Backward

z= Suggest Corrections

@clowder
clowder / entity_controller.rb
Created August 19, 2012 11:46
Pattern Wank
class EntityController < ApplicationController
respond_to :json
def create
entity = Entity.new(post_params)
validator = EntityValidator.new(entity)
if validator.passes?
collection = EntityRepository.add(entity)
respond_with EntityPresenter.new(entity)
@clowder
clowder / Gemfile
Created August 3, 2012 11:08
ElasticSearch Reindex
source :rubygems
gem 'rubberband'
gem 'yajl-ruby'