require 'forwardable'

class MyQueue
  extend Forwardable
  def initialize(obj=[])
    @queue = obj     # delegate to this object
  end
  def_delegator :@queue, :push,   :enqueue
  def_delegator :@queue, :shift, :dequeue
  def_delegators :@queue, :clear, :empty?, :length, :size, :<<
  # Any additional stuff...
end

