Module with self.included - execution order by makaroni4

E302c3320cd14b02cbe237b479d7f884?size=52

Don't forget that self.included method in module is executed in the end:

module Gangster
  def self.included(base)
    puts "Inside self.included"
  end

  puts "Outside self.included"
  def shoot
    puts "Tra ta ta ta ta!"
  end
end

class Human
  include Gangster
end

# => Outside self.included
# => Inside self.included

More under the cut