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