Abstract method in a module : Modules Creation « 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 » Modules Creation 




Abstract method in a module


module Complaint
  def gripe
    voice('A')
  end

  def faint_praise
    voice('B')
  end

  def voice(complaint_text)
    raise NotImplementedError,
    "#{self.class} included the Complaint module but didn't define voice!"
  end
end

class MyComplaint
  include Complaint
end

MyComplaint.new.gripe
# NotImplementedError: MyComplaint included the Complaint module
# but didn't define voice!

 














Related examples in the same category
1.Modules and Namespaces
2.Modules provide a structure to collect Ruby classes, methods, and constants into a single, separately named and defined unit.
3.Creating Modules
4.store classes inside modules.
5.access methods inside classes inside modules with Ruby scope resolution operator (::)
6.Involve demonstrating two classes with the same name, but in different modules
7.how to create a module and then include it in a class.
8.require the file containing the module, and then it would work (again, require is expecting a name in the load path).
9.prefixed with the module name you can call the method from anywhere, as is the case with the Math module.
10.Initializing Instance Variables Defined by a Module
11.Use remove_const to delete a constant definition
12.Avoiding Naming Collisions with Namespaces
13.Print all modules (excluding classes)
14.Print all classes (excluding exceptions)
15.Print all exceptions
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.