Skip to content

Instantly share code, notes, and snippets.

@AnatoliiD
Created October 14, 2016 07:30
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save AnatoliiD/4761f11d648797a81e60b4e746728d98 to your computer and use it in GitHub Desktop.
Save AnatoliiD/4761f11d648797a81e60b4e746728d98 to your computer and use it in GitHub Desktop.
Namespacing and reusage of overriden classes.
class Overriden
class << self
def a
'GLOBAL'
end
end
end
module A
class Overriden
class << self
def a
'a'
end
end
end
end
module B
class Overriden
class << self
def a
'b'
end
end
end
end
class GlobalUser
def self.use
Overriden.a
end
end
class AUser
include A
def self.use
Overriden.a
end
end
class BUser
include B
def self.use
Overriden.a
end
end
GlobalUser.use # => 'GLOBAL'
AUser.use # => 'a'
BUser.use # => 'b'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment