Skip to content

Instantly share code, notes, and snippets.

View liangzan's full-sized avatar

Wong Liang Zan liangzan

View GitHub Profile
User.username_equals("ben")
# lib/searchlogic/named_scopes/conditions.rb
def method_missing(name, *args, &block)
if details = condition_details(name)
create_condition(details[:column], details[:condition], args)
send(name, *args)
elsif boolean_condition?(name)
column = name.to_s.gsub(/^not_/, "")
named_scope name, :conditions => {column => (name.to_s =~ /^not_/).nil?}
send(name)
else
# lib/searchlogic/core_ext/object.rb
def searchlogic_lambda(type = :string, options = {}, &block)
proc = lambda(&block)
proc.searchlogic_options ||= {}
proc.searchlogic_options[:type] = type
proc.searchlogic_options.merge!(options)
proc
end
# lib/searchlogic/named_scopes/conditions.rb
def create_primary_condition(column, condition)
...
named_scope("#{column}_#{condition}".to_sym, scope_options)
end
# lib/searchlogic/named_scopes/conditions.rb
def method_missing(name, *args, &block)
...
send(name, *args)
...
end
User.send(:username_equals, "ben")
User.username_equals("ben")
@liangzan
liangzan / recursiveRemoveFiles.js
Created February 2, 2011 14:12
A Node.js script to remove all files in a directory recursively
var fs = require('fs')
, path = require('path')
, _ = require('underscore');
var rootPath = "/path/to/remove";
removeDirForce(rootPath);
// path should have trailing slash
function removeDirForce(dirPath) {
fs.readdir(dirPath, function(err, files) {
@liangzan
liangzan / gist:833370
Created February 18, 2011 07:15
sync.js profile
Statistical profiling result from profile-12980120047188966.log, (1058 ticks, 3 unaccounted, 0 excluded).
[Unknown]:
ticks total nonlib name
3 0.3%
[Shared libraries]:
ticks total nonlib name
59 5.6% 0.0% 00ada000-00adb000
@liangzan
liangzan / remove_magic_comment.diff
Created April 21, 2011 03:26
removes the magic comment for ruby mode
diff --git a/ruby-mode/ruby-mode.el b/ruby-mode/ruby-mode.el
index 94cb9ab..d810146 100644
--- a/ruby-mode/ruby-mode.el
+++ b/ruby-mode/ruby-mode.el
@@ -350,7 +350,7 @@ Also ignores spaces after parenthesis when 'space."
((forward-char)))))
(insert coding-system)))
((looking-at "\\s *#.*coding\\s *[:=]"))
- (t (insert "# -*- coding: " coding-system " -*-\n"))
+ (t (insert ""))