jQueryのeachのreturnがうまくいかなかった

jQueryのプラグイン作ってて、以下のコードが思った通り動かなかった。
(CoffeeScript使ってます。)

$.fn.XXXX(settings) = (settings) ->
    this.each () ->
        self = $(this)
        switch settings.action
            when 'init'
                 # Do something
            when 'get'
                return self.data 'data_key'

上のコードで、

$('selector').XXXX
    action: 'get'

ってしたら、selectorで選択した最初のエレメントのデータが帰ってきてほしいけど、$('select')自体が返ってくる。

マニュアル見たら、eachでreturnしたら処理を中断するみたいな事が書いてたけどな。

結局以下に書き直した。

$.fn.XXXX(settings) = (settings) ->
    if settings.action == 'get'
        return this.data 'data_key'
    this.each () ->
        self = $(this)
        switch settings.action
            when 'init'
                 # Do something

勘違いが合ったら誰か教えて下さい。