Skip to content

Instantly share code, notes, and snippets.

@mtkd
mtkd / gist:3393155
Created August 19, 2012 07:16
Pretty print a mongoid document
JSON.pretty_generate(JSON.parse(obj.to_json))
@mtkd
mtkd / bread_rolls.txt
Created January 6, 2010 11:44
Bread Recipe
Makes 6 regular or 8 smaller, takes about an hour or 40 mins if in a hurry.
For flour you can use white, wholemeal or my favourite: 50% untreated strong white flour (from Garboldisham mill) and 50% Hovis granary.
Even when I make wholemeal I use 50% white or they come out too heavy.
* 500g flour
* 280ml warm water
* 1.5 tsp yeast (like Allinson Dried Active Yeast)
* 1 tsp sugar
@mtkd
mtkd / database_cleaner_mongo_minitest_example.rb
Created January 18, 2014 10:28
Using DatabaseCleaner with Mongo Driver and Minitest
# not obvious from the database_cleaner documentation
# this is snippets of relevant parts, it's not meant to run
require 'mongo'
require 'database_cleaner'
require 'database_cleaner/mongo/base'
include Mongo
@mongo_client = MongoClient.new
@mtkd
mtkd / test_exception_message
Last active December 27, 2015 19:29
Test exception message
exc = assert_raises Mongoid::Errors::Validations do
subject.do_something
end
assert exc.message.include?("something failed")
@mtkd
mtkd / safe_navigator_cost.rb
Created December 25, 2015 11:56
Perf difference between try and safe navigator in Ruby 2.3.0
# Test perf difference between try and safe navigator in Ruby 2.3.0
require 'benchmark'
require 'active_support'
require 'active_support/core_ext/object'
Benchmark.bm do |x|
obj = 0
x.report { 10000.times do; obj.try(:to_s); end; }
x.report { 10000.times do; obj&.to_s; end; }
@mtkd
mtkd / gist:5608396
Last active December 17, 2015 12:19
Install Sublime Text 2 settings
cd ~/Library/Application Support/Sublime Text 2/Packages
mv ./User/ ./User_old/
ln -s ~/Dropbox/Sublime/Packages/User ./User
# Edit this in Package/Color Scheme - Default/Twilight
# <key>lineHighlight</key>
# <string>#302030</string>
@mtkd
mtkd / mail_send_example.rb
Created March 17, 2013 12:55
Simple Ruby SMTP send example
require 'net/smtp'
message = <<MESSAGE_END
From: Sender <name@sender_domain.com>
To: Receiver <name@receiver_domain.com>
Subject: SMTP e-mail test
This is a test e-mail message.
MESSAGE_END
@mtkd
mtkd / gist:3729321
Last active October 10, 2015 17:58
Curl options
# return only HTTP status code
curl -sL -w "%{http_code}\\n" "http://news.ycombinator.com/" -o /dev/null
# return only HTTP status code and 302 URL
curl -sL -w "%{http_code} %{url_effective}\\n" "http://news.ycombinator.com/" -o /dev/null
# header only
curl -I news.ycombinator.com
# basic auth
@mtkd
mtkd / gist:3728976
Created September 15, 2012 17:34
ActiveModel::Serializer and :only
class FooSerializer < ActiveModel::Serializer
attributes :_id, :name
def attributes
h = super
h.select! { |x| options[:only].include? x } if options[:only]
h
end
end
@mtkd
mtkd / gist:3586053
Created September 1, 2012 20:19
Mongoid array timings
#188s
(0..10000).each do
document1.sub_documents << document2
end
#119s
(0..10000).each do
document1.push(:sub_document_ids, document2._id)
end