元の問題
Ruby のバージョン ( 1.9.3
> 1.9.2
) を変更すると、突然すべての coffeescripts が生成され始めましunexpected INDENT
た。
ファイルのスペース/タブの不一致をトリプルチェックしましたが、これは問題ではありません。スクリプト全体にコメントすると、同じバグが次/別の coffeescript ファイルにジャンプします。
coffee-rails
バージョン 3.2.1 と 3.2.2で試しました。どちらも成功なし。
ランプを灯す人はいますか?
詳細
これの原因はわかりましたが、Ruby のバージョンごとに動作が異なる理由がわかりません。話が長くなりましたが、ここまでです。
クラスに静的または動的なゲッターとセッターを宣言するトリックを使用します。これは次のようなものです。
Function::dynamic = (prop, desc) ->
Object.defineProperty @prototype, prop, desc
Function::static = (prop, desc) ->
Object.defineProperty @, prop, desc
これにより、次のようなプロパティを宣言する方法が提供されます。
class MyClass
@static 'accessor'
get: -> _accessor
set: (value) -> _acessor = value
コード全体にこれがたくさんありますが、Ruby をダウングレードした後、コード構造が機能しなくなりました。ここで、メソッドの最初のパラメーターの後にコンマを追加する必要があります。お気に入り:
@static 'accessor',
get: -> (...)
そして、これがすべてでした。:S
答えはもう必要ありませんが、誰かがそれを説明できれば... うれしいです.