Skip to content

Instantly share code, notes, and snippets.

@sycobuny
Created March 13, 2013 21:19
Show Gist options
  • Save sycobuny/5156367 to your computer and use it in GitHub Desktop.
Save sycobuny/5156367 to your computer and use it in GitHub Desktop.
Demonstrating some namespacing layouts in ruby
module Sequel
class Model
end
end
module Models
class User < Sequel::Model; end
class Post < Sequel::Model; end
end
begin
class Models::User
$p = Post
end
rescue NameError
class Models::User
$p = self
end
end
class Models::Post
if $p == self
puts "p was assigned to me"
else
puts "p was assigned to something else"
end
end
module Models
class User
$p = Post
end
end
class Models::Post
if $p == self
puts "p was assigned to me"
else
puts "p was assigned to something else"
end
end
__END__
OUTPUT:
p was assigned to something else
p was assigned to me
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment