Mixins are a beautiful way to achieve something similar to multiple inheritance. It allows us to inherit or rather include methods defined in a module into a class. These methods can be included as either instance or class methods. The below example depicts this design.
module SampleModule
  def self.included(base)
    base.extend ClassMethods
  end
  module ClassMethods
    def method_static
      puts "This is a static method"
    end
  end
  def insta_method
    puts "This is an instance method"
  end
end
class SampleClass
  include SampleModule
end
sc = SampleClass.new
sc.insta_method
prints "This is an instance method"
sc.class.method_static
prints "This is a static method"