Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/rajasegar/awesome-ruby-ast

A list of awesome tools and libraries which deals with ASTs in Ruby
https://github.com/rajasegar/awesome-ruby-ast

List: awesome-ruby-ast

abstract-syntax-tree ast awesome awesome-list awesome-lists ruby

Last synced: about 2 months ago
JSON representation

A list of awesome tools and libraries which deals with ASTs in Ruby

Awesome Lists containing this project

README

        

# awesome-ruby-ast [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome)

A list of awesome tools and libraries which deals with ASTs in Ruby

## Gems

- [ast](https://whitequark.github.io/ast/)
- [fast](https://github.com/jonatas/fast)
- [parser](https://github.com/whitequark/parser)
- [unparser](https://github.com/mbj/unparser)

## Tools

- [Astrolabe](https://github.com/yujinakayama/astrolabe)
- [Ripper](https://docs.ruby-lang.org/en/2.4.0/Ripper.html)
- [Rubocop](https://github.com/rubocop-hq/rubocop/)
- [ast_utils](https://github.com/soutaro/ast_utils)
- [improve_your_code](https://github.com/IlyaUmanets/improve_your_code)
- [reek](https://github.com/troessner/reek)
- [ruby2ruby](http://www.zenspider.com/projects/ruby2ruby.html)
- [vernacular-ast](https://github.com/kddeisz/vernacular-ast)
- [ruby-ast-explorer](https://github.com/rajasegar/ruby-ast-explorer)
- [codeshift](https://github.com/rajasegar/codeshift)
- [cybertron](https://github.com/rajasegar/cybertron)

## Converters
- [Transpec](https://github.com/yujinakayama/transpec)
- [rr-to-rspec-converter](https://github.com/kjvarga/rr-to-rspec-converter)
- [arel_converter](https://www.rubydoc.info/gems/arel_converter/0.0.1)
- [rails5-spec-converter](https://github.com/tjgrathwell/rails5-spec-converter)
- [attr_accessible2strong_params](https://github.com/Eric-Guo/attr_accessible2strong_params)
- [rails5_xhr_update](https://github.com/appfolio/rails5_xhr_update)

## Blog Posts

- [A Quick Intro into writing a Parser using Treetop](http://thingsaaronmade.com/blog/a-quick-intro-to-writing-a-parser-using-treetop.html)
- [Let's Play with Ruby Code](https://whitequark.org/blog/2013/04/26/lets-play-with-ruby-code/)
- [Parsing Ruby](https://whitequark.org/blog/2012/10/02/parsing-ruby/)
- [Parsing with the Parslet Gem](https://www.sitepoint.com/parsing-parslet-gem/)
- [Rewriting deprecated apis with parser gem](https://blog.arkency.com/rewriting-deprecated-apis-with-parser-gem/)
- [Search in Ruby AST](http://ideia.me/search-in-ruby-ast)
- [Static Analysis in Ruby](https://www.rubyguides.com/2015/08/static-analysis-in-ruby/)
- [Using Ruby parser and AST tree to find deprecated syntax](https://blog.arkency.com/using-ruby-parser-and-ast-tree-to-find-deprecated-syntax/)

## Gists
https://gist.github.com/jonatas/e70c874cbbd0cac5a9abd9f4a78fa816

## Videos
- [RubyElixirConfTaiwan 2018: Boost Your Daily Development with Ruby's AST Toolchains by vzvu3k6k](https://www.youtube.com/watch?v=2-Dh7PchyS0)
- [Ruby Meta Meta Programming (AST Parsing)](https://www.youtube.com/watch?v=QYSXevUo1jg)
- [Rubocop: What I learned from my first open source contribution - Singapore Ruby Group](https://www.youtube.com/watch?v=C3oZYTSSrmY)