includeとextend

include

インスタンスメソッドとしてアクセスできる。 クラスのインスタンスメソッドをモジュールで拡張する場合。

extend

クラスメソッドとしてアクセスできる。 クラスメソッドなどの拡張だけが目的である場合

module Greetings
  def hello
    puts 'hello'
  end
end

module Farewells
  def bye
    puts 'bye'
   end
end

class Conversation
  extend Greetings
  include Farewells
end

# クラスメソッドとしてアクセス
Conversation.hello
# => hello

# インスタンスメソッドとしてアクセス
c = Conversation.new
c.bye
# => bye