title: "Interfaces & Abstract Classes unnecessary in Ruby" --> Can someone explain?
body: <p>I'm trying to wrap my head around Ruby, and one thing I'm struggling with is the lack of interface/abstract class support. From googling about, the response I continuously see to abstract class related Ruby questions is "You're thinking in Java. Ruby doesn't work that way"</p>
  
  <p>So, how would one work in Ruby without interfaces/abstract classes?</p>
  
  <p>For example, in Java I might create an abstract class "book", with subclasses "novel", "textbook", and "journal". There is a lot of common functionality that I throw in 'book', but I don't want it to be directly accessible - a book must be either a novel, textbook or journal.</p>
  
  <p>In ruby, how would I write out that sort of functionality?</p>