Как получить методы Model, исключая унаследованные, встроенные, сгенерированные rails, getters, setters, validators a и другие? - PullRequest
3 голосов
/ 08 декабря 2011

У меня вопрос по поводу списка методов модели.Я хотел бы получить список методов, определенных в моей модели, за исключением методов получения, установки и методов, сгенерированных Rails, методов проверки и т. Д. В общем, я зависит от методов, определенных программистом от начала до конца.

Использование:

Model.instance_methods (false) - Object.methods

Получить методы, определенные мной, а также метод, сгенерированный ActiveRecord.Как я могу получить то, что мне нужно?

1 Ответ

0 голосов
/ 04 июля 2012

Поместите это в ваш ~ / .irbc

# Easily print methods local to an object's class
class Object
  def local_methods
    (methods - Object.instance_methods).sort
  end
end

Используйте метод #local_methods следующим образом:

>> class BasketballPlayer
>>   attr_accessor :name
>> 
?>   def champion?
>>     name == "Kevin Garnett"
>>   end
>> end
=> nil
>> kevin_garnett = BasketballPlayer.new
=> #<BasketballPlayer:0x11988f8>
>> kevin_garnett.name = "Kevin Garnett"
=> "Kevin Garnett"
>> kevin_garnett.champion?
=> true
>> kevin_garnett.local_methods
=> ["champion?", "name", "name="]

Источник: http://robots.thoughtbot.com/post/159806033/irb-script-console-tips

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...