Mixing in Class Methods.rb : Mixins « Language Basics « Ruby

Home
Ruby
1.ActiveRecord
2.Array
3.CGI
4.Class
5.Collections
6.Database
7.Date
8.Design Patterns
9.Development
10.File Directory
11.GUI
12.Hash
13.Language Basics
14.Method
15.Network
16.Number
17.Rails
18.Range
19.Reflection
20.Statement
21.String
22.Threads
23.Time
24.Tk
25.Unit Test
26.Windows Platform
27.XML
Ruby » Language Basics » Mixins 




Mixing in Class Methods.rb


module MyLib
  module ClassMethods
    def class_method
      puts "in MyLib::ClassMethods"
    end
  end
end

module MyLib
  def self.included(receiver)
    puts "MyLib is being included in #{receiver}!"
    receiver.extend(ClassMethods)
  end
end

class MyClass
  include MyLib
end
# MyLib is being included in MyClass!

MyClass.class_method
# This method was first defined in MyLib::ClassMethods

 














Related examples in the same category
1.Creating Mixins
2.The Making of a Man
3.Automatically Initializing Mixed-In Modules
4.Simulating Multiple Inheritance with Mixins.rb
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.