Първоначалният проблем
Променена версия на ruby (1.9.3
> 1.9.2
) и изведнъж всички скриптове за кафе започнаха да дават 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: -> (...)
И това беше всичко. :С
Отговорът вече не е необходим, но ако някой може да го обясни... ще се радвам.