Распечатать уникальные методы объекта - PullRequest
2 голосов
/ 15 августа 2011

Я экспериментирую с Anemone, фреймворком с рубиновым веб-пауком. Я хочу знать, как мне распечатать все методы, связанные с объектом? Например, приведенный ниже код выводит puts page.url, но я хочу знать, какие доступны другие методы, кроме url. Как распечатать все связанные методы?

require 'anemone'

    Anemone.crawl("http://www.fsu.edu") do |anemone|
      anemone.on_every_page do |page|
        puts page.url 
      end 
    end 

Ответ puts (page.methods - Object.public_methods)

Ответы [ 3 ]

8 голосов
/ 15 августа 2011

Я использовал это, чтобы разобраться в неинтересных вещах:

irb> pp (page.methods - Object.new.methods).sort

Также из IRB я использую драгоценный камень Wirble , который имеет методы po и poc, которые делают что-то похожее:

irb> po page

Обновление: В эти дни я использую Прай . Когда Pry доступен, команда ls прекрасно работает:

pry> ls page
0 голосов
/ 15 августа 2011

Один из вариантов - page.class.instance_methods(false), но он может не работать, если в класс page включены модули, в которых есть методы, о которых вы хотели бы знать.

0 голосов
/ 15 августа 2011

возможно inspect?

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