2015-08-14 4 views
3

Есть ли способ определить метод для экземпляра класса в консоли?Определить метод класса (экземпляра) в консоли rails

например.

def Model.old? 
    self.created_at < Time.now - 35.years 
end 

А затем запустить его с

Model.find(1).old? 
+0

Должен быть способ открыть класс, как обычно. –

+0

Не уверен, что вы имеете в виду. Я хочу определить метод, который я тестирую, не входя в класс, перезагружая или (что важно) потерять бит данных, с которыми я работал. Но я хочу определить, как вести себя так, как если бы он уже был определен против модели. – Carpela

+0

Открытие класса не перезагружает класс AFAIK. Вы пытаетесь добавить метод экземпляра, а не конкретный экземпляр, и я не вижу причин, по которым вы не могли этого сделать. Вы говорите, что обычное открытие класса Ruby не работает? –

ответ

6

На основе кода, при условии, что это должно быть то, что вы хотите:

class Model 
    def old? 
    created_at < 35.years.ago 
    end 
end 

Вам просто нужно ввести каждую строку в консоль по одному.

P.S. - Ваша логика сравнения обратная, поэтому я перевернул ее назад.

+0

Хорошо заметили :) – Carpela

Смежные вопросы