module A
def a
p 'A'
end
end
module B
def b
Class.new{include(B)}.new.a
a
end
def a
p 'B'
end
end
class X
include B
include A
end
p X.ancestors #=> [X, A, B, Object...]
X.new.b
bW9kdWxlIEEKICBkZWYgYQogICAgcCAnQScKICBlbmQKZW5kCgptb2R1bGUgQgogIGRlZiBiCiAgICBDbGFzcy5uZXd7aW5jbHVkZShCKX0ubmV3LmEKICAgIGEKICBlbmQKICBkZWYgYQogICAgcCAnQicKICBlbmQKZW5kCgpjbGFzcyBYCiAgaW5jbHVkZSBCCiAgaW5jbHVkZSBBCmVuZAoKcCBYLmFuY2VzdG9ycyAjPT4gW1gsIEEsIEIsIE9iamVjdC4uLl0KWC5uZXcuYg==