Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on May 11th, 2012  |  syntax: None  |  size: 0.39 KB  |  hits: 16  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. module MyModule
  2.   module ClassMethods
  3.     def modularize(opts = {})
  4.       @opts = {:foo => "bar"}.merge opts #set defaults
  5.       attr_reader :opts
  6.     end
  7.   end
  8.  
  9.   module InstanceMethods
  10.     def opts
  11.       self.class.opts
  12.     end
  13.   end
  14. end
  15.  
  16. class MyClass
  17.   extend MyModule::ClassMethods
  18.   include MyModule::InstanceMethods
  19.  
  20.   modularize :foo => "jitsu"
  21.  
  22. end
  23.  
  24. MyClass.new.opts