Sha256: eba6300354ba8e95e1fc314269ff29ef3063a47f2595ae534fbb58a3a1638559

Contents?: true

Size: 1.98 KB

Versions: 2

Compression:

Stored size: 1.98 KB

Contents

# RipperTree

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

RipperTree is like `tree` command for Ripper#sexp.

## Installation

```
$ gem install ripper_tree
```

## Usage

You can use `rtree` command.

sample.rb

```ruby
1 + 1
```

exec `rtree` command.

```
$ rtree sample.rb
```

result

```ruby
:program
 └──── :binary
         ├──── :@int [1] 1:0
         ├──── :+
         └──── :@int [1] 1:4
```

if use in ruby code.

```rb
require 'ripper_tree'
require 'pp'

code =<<-CODE
puts "hello world"
CODE

pp Ripper.sexp(code)
puts
puts RipperTree.create(code)
```

result

```ruby
[:program,
 [[:command,
   [:@ident, "puts", [1, 0]],
   [:args_add_block,
    [[:string_literal,
      [:string_content, [:@tstring_content, "hello world", [1, 6]]]]],
    false]]]]

:program
 └──── :command
         ├──── :@ident [puts] 1:0
         └──── :args_add_block
                 ├──── :string_literal
                 │       └──── :string_content
                 │               └──── :@tstring_content ["hello world"] 1:6
                 └──── false
```

and can use `-e "command"` option

```
$ rtree -e "1+2*3"
```

result

```ruby
:program
 └──── :binary
         ├──── :@int [1] 1:0
         ├──── :+
         └──── :binary
                 ├──── :@int [2] 1:2
                 ├──── :*
                 └──── :@int [3] 1:4
```

## Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/siman-man/ripper_tree. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.


## License

The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
ripper_tree-0.1.1 README.md
ripper_tree-0.1.0 README.md