Ruby ffast: Difference between revisions
From wikinotes
(→Usage) |
(→Usage) |
||
Line 22: | Line 22: | ||
fast --ast some/file.rb # show ast | fast --ast some/file.rb # show ast | ||
fast '(const _ _)' some/file.rb # find matching in some/file.rb | fast '(const _ _)' some/file.rb # find matching in some/file.rb | ||
</source> | |||
sample patterns | |||
<source lang="ruby"> | |||
# an object 'Foo' initialized with the keyword-argument 'two' | |||
'(send (const {nil _} :Foo) :new (hash ... (pair (sym :two)) ))' | |||
Foo.new(one: "abc", two: "def", three: "ghi") | |||
</source> | </source> | ||
</blockquote><!-- usage --> | </blockquote><!-- usage --> |
Revision as of 16:07, 1 February 2024
A library and cli tool for searching/matching nodes within ruby's AST.
Documentation
github https://github.com/jonatas/fast
Install
gem install ffast
Usage
fast --ast some/file.rb # show ast fast '(const _ _)' some/file.rb # find matching in some/file.rbsample patterns
# an object 'Foo' initialized with the keyword-argument 'two' '(send (const {nil _} :Foo) :new (hash ... (pair (sym :two)) ))' Foo.new(one: "abc", two: "def", three: "ghi")