Неожиданный конец ввода?

В следующем коде я сталкиваюсь с ошибкой, которая заявляет syntax error, unexpected '\n', expecting :: or '[' or '.' (SyntaxError) Но я не вижу, где проблема.

module Xaaron
  class ApiKey.class_eval # It does not like this....
     include Promiscuous::Publisher
     publish :xaaron_users_id, :api_key, :as => :ApiKey
  end
end

Я использую class_eval неправильно?

1 ответ

Решение

Вы можете удалить class ключевое слово и добавить do после звонка class_eval (передавая это блок):

module Xaaron
  ApiKey.class_eval do
     include Promiscuous::Publisher
     publish :xaaron_users_id, :api_key, :as => :ApiKey
  end
end

(При условии ApiKey уже существует)

ИЛИ вы можете удалить class_eval в целом:

module Xaaron
  class ApiKey
     include Promiscuous::Publisher
     publish :xaaron_users_id, :api_key, :as => :ApiKey
  end
end

Это будет работать, даже если ApiKey уже существует... вот так работает рубин...

Другие вопросы по тегам