Skip to content

Instantly share code, notes, and snippets.

@zzak
Forked from nusco/mimic_method.rb
Created September 13, 2010 16:53
Show Gist options
  • Select an option

  • Save zzak/577600 to your computer and use it in GitHub Desktop.

Select an option

Save zzak/577600 to your computer and use it in GitHub Desktop.
# ===================
# Spell: Mimic Method
# ===================
# Disguise a method as another language construct.
def BaseClass(name)
name == "string" ? String : Object
end
class C < BaseClass "string" # a method that looks like a class
attr_accessor :an_attribute # a method that looks like a keyword
end
obj = C.new
obj.an_attribute = 1 # a method that looks like an attribute
# For more information: http://www.pragprog.com/titles/ppmetr/metaprogramming-ruby
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment