Skip to content

Instantly share code, notes, and snippets.

View banister's full-sized avatar
🇳🇱

John Mair banister

🇳🇱
View GitHub Profile
VALUE
rb_singleton_class_clone(VALUE obj)
{
VALUE klass = RBASIC(obj)->klass;
if (!FL_TEST(klass, FL_SINGLETON))
return klass;
else {
struct clone_method_data data;
/* copy singleton(unnamed) class */
module Recipe
def eggs(num=nil)
num ? @eggs = num : @eggs
end
def vinegar(num=nil)
num ? @vinegar = num : @vinegar
end
end
@myobie
myobie / scope.rb
Created September 28, 2010 01:25
module Scope
module ScopeMethods
def helpers(&block)
instance_eval(&block)
end
end
def scope(path, &block)
(@path_parts ||= []) << path
typedef struct {
VALUE *pc; /* cfp[0] */
VALUE *sp; /* cfp[1] */
VALUE *bp; /* cfp[2] */
rb_iseq_t *iseq; /* cfp[3] */
VALUE flag; /* cfp[4] */
VALUE self; /* cfp[5] / block[0] */
VALUE klass; /* cfp[6] / block[1] */
VALUE *lfp; /* cfp[7] / block[2] */
VALUE *dfp; /* cfp[8] / block[3] */
module YCombinator
def y_comb(&generator)
->(x){
->(*args){
generator.(x.(x)).(*args)
}
}.(->(x){
->(*args){
generator.(x.(x)).(*args)
}
# http://gist.github.com/16885
# $ ./script/console
# Loading development environment (Rails 2.1.0)
# >>
# >> User.whatis :create!
# File: /opt/local/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/validations.rb:876
# 872: end
# 873:
# 874: # Creates an object just like Base.create but calls save! instead of save