Created
September 15, 2012 15:35
-
-
Save joefiorini/3728490 to your computer and use it in GitHub Desktop.
MacRuby, inheritance and alias
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
################################### | |
### FAILING CASE | |
### This emulates the relationship | |
### defined in rake-pipeline.rb | |
### and rake-pipeline/matcher.rb | |
################################### | |
class Greeter | |
class SpanishGreeter < Greeter | |
def say_hola(name) | |
puts "Hola #{name}!" | |
end | |
end | |
end | |
class Greeter | |
def say_hello(name) | |
puts "Hello #{name}!" | |
end | |
alias say_hola say_hello | |
def greet(name) | |
say_hola name | |
end | |
end | |
puts "Greeter" | |
Greeter.new.greet "Joe" | |
# => "Hello Joe" | |
puts "En español" | |
Greeter::SpanishGreeter.new.greet "José" # <-- should print "Hola Joe!" | |
# => "Hello Joe" | |
################################### | |
### PASSING CASE | |
################################### | |
class Greeter | |
def say_hello(name) | |
puts "Hello #{name}!" | |
end | |
def say_hola(name); say_hello(name) end | |
def greet(name) | |
say_hola name | |
end | |
end | |
puts "Greeter" | |
Greeter.new.greet "Joe" | |
# => "Hello Joe" | |
puts "En español" | |
Greeter::SpanishGreeter.new.greet "José" # <-- should print "Hola José!" | |
# => "Hola José!" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment