Skip to content

Instantly share code, notes, and snippets.

@Shinpeim
Created November 29, 2012 12:23
Show Gist options
  • Save Shinpeim/4168684 to your computer and use it in GitHub Desktop.
Save Shinpeim/4168684 to your computer and use it in GitHub Desktop.
module Nyan
def nyan
"nyan"
end
extend self
end
class Neko
include Nyan
def mew
nyan
end
end
p Nyan.nyan # => nyan
p Neko.new.mew # => nyan
p Neko.new.nyan # => nyan
module Piyo
def piyo
"piyo"
end
module_function :piyo
end
class Hiyoko
include Piyo
def chun
piyo
end
end
p Piyo.piyo # => piyo
p Hiyoko.new.chun # => piyo
p Hiyoko.new.piyo # => private method `piyo' called NoMethodError
module Wan
class << self
def wan
"wan"
end
end
end
class Inu
include Wan
def bow
wan
end
end
p Wan.wan # wan
p Inu.new.bow # => NoMethodError
p Inu.new.wan # => NoMethodError
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment