次のようなオブジェクトがあるとします (coffeescript を使用):
class Client
constructor: (socket) ->
@id = socket.id
@socket = socket
# some other initialization here...
ここで、@socket が何かを発行するたびに、クライアント オブジェクトが同じイベントを発行することによってそれを模倣するようにします。@socket によって発行されるすべてのイベントを監視し、Client クラス内で手動で発行するよりも、これを行うためのより良い方法は考えられません。
class Client
constructor: (socket) ->
# ...
@socket.on('disconnection', onDisconnect)
@socket.on('message', onMessage)
onDisconnect: ->
this.emit('disconnection')
onMessage: (data) ->
this.emit('message', data)
もっと良い方法が必要なのはわかっていますが、どうすればよいかわかりません。