タスクは所有者と期限を持つことで”ToDo”となる。 タスクは”誰がそれを所有するのか(owned_by)”という情報と、”いつまでにそれを行うのか(due_date, due_time)”という情報を持つことで、ToDoタスクとなる。 module TaskInterface class Core attr_accessor :action, :target def initialize(action:, target:) @action = action @target = target end end module Owner attr_accessor :owned_by def initialize(owned_by:) @owned_by = owned_by end end end class Task < TaskInterface::Core include TaskIn