An open API service indexing awesome lists of open source software.

https://github.com/siman-man/object_tree

ObjectTree is like tree command for Ruby ancestors.
https://github.com/siman-man/object_tree

gem ruby

Last synced: 10 months ago
JSON representation

ObjectTree is like tree command for Ruby ancestors.

Awesome Lists containing this project

README

          

# ObjectTree

[![Build Status](https://travis-ci.org/siman-man/object_tree.svg?branch=master)](https://travis-ci.org/siman-man/object_tree)

ObjectTree is like tree command for Ruby ancestors.

## Installation

```
$ gem install object_tree
```


## Usage

``` ruby
require 'object_tree'

class A
end

class B < A
end

class C < B
end

puts ObjectTree.create(A)
```

output

```zsh
A
└───── B
└───── C
```

more complex pattern

```ruby
require 'object_tree'

module D
end

module E
end

class A
include D
end

class B < A
end

class C < A
include E
end

class F < B
include E
end

puts ObjectTree.create(D)
```

output

```
D
└───── A
├───── B
│ └───── E
│ └───── F
└───── E
└───── C
```

can use from terminal by using `rotree` command.

```
$ rotree Numeric
```

Ruby 2.3.3

```
Numeric
├───── Complex
├───── Float
├───── Integer
│ ├───── Bignum
│ └───── Fixnum
└───── Rational
```

Ruby 2.4.0

```
Numeric
├───── Complex
├───── Float
├───── Integer
└───── Rational
```

you can see unify Fixnum and Bignum into Integer from ruby 2.4.0

## Contributing

1. Fork it
2. Create your feature branch (`git checkout -b my-new-feature`)
3. Commit your changes (`git commit -am 'Add some feature'`)
4. Push to the branch (`git push origin my-new-feature`)
5. Create new Pull Request