Question: I'm experimenting with Anemone, a ruby web spider framework. I want to know how do I print all methods associated with an object? For example, the code below outputs `puts page.url` but I want to know what other methods are available, other than url. How do I print out all associated methods?

```
require 'anemone'

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

```

**Answer** `puts (page.methods - Object.public_methods)`

Answer: 
I've used this to sort out the uninteresting things:

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

```

Also, from the IRB I use the [Wirble](http://pablotron.org/software/wirble/) gem which has `po` and `poc` methods that do something similar:

```
irb> po page

```

**Update:** These days I use [Pry](http://pryrepl.org/). When Pry is available, the `ls` command works great:

```
pry> ls page

```
One alternative is `page.class.instance_methods(false)`, but that might not work if `page`'s class included modules that had methods you wanted to know about.