- #70: Add
NextNode
(@marcandre) - #85: Add
IntNode#value
andFloatNode#value
. (@fatkodima)
- #70: Fix arguments processing for
BreakNode
(@marcandre) - #70: (Potentially breaking)
BreakNode
andReturnNode
no longer includeMethodDispatchNode
. These methods were severely broken (@marcandre)
- #86:
PairNode#delimiter
andinverse_delimiter
now accept their argument as a named argument. (@marcandre)
- #50: Support find pattern matching for Ruby 2.8 (3.0) parser. (@koic)
- #55: Add
ProcessedSource#line_with_comment?
. (@marcandre) - #63: NodePattern now supports patterns as arguments to predicate and functions. (@marcandre)
- #64: Add
Node#global_const?
. (@marcandre) - #28: Add
struct_constructor?
,class_definition?
andmodule_definition?
matchers. (@tejasbubane)
- #55: Fix
ProcessedSource#commented?
for multi-line ranges. Renamedcontains_comment?
(@marcandre) - #69: (Potentially breaking)
RetryNode
has many errors. It is now aNode
. (@marcandre)
- #36: Add
post_condition_loop?
andloop_keyword?
forNode
. (@fatkodima) - #38: Add helpers allowing to check whether the method is a nonmutating operator method or a nonmutating method of several core classes. (@fatkodima)
- #37: Add
enumerable_method?
forMethodIdentifierPredicates
. (@fatkodima) - #4: Add
interpolation?
forRegexpNode
. (@tejasbubane) - #20: Add option predicates for
RegexpNode
. (@owst) - #11: Add
argument_type?
method to make it easy to recognize argument nodes. (@tejasbubane) - #31: NodePattern now uses
param === node
to match params, which allows Regexp, Proc, Set in addition to Nodes and literals. (@marcandre) - #41: Add
delimiters
and related predicates forRegexpNode
. (@owst) - #46: Basic support for non-legacy AST output from parser. Note that there is no support (yet) in main RuboCop gem. Expect
emit_forward_arg
to be set totrue
in v1.0 (@marcandre) - #48: Support
Parser::Ruby28
for Ruby 2.8 (3.0) parser (experimental). (@koic) - #35: NodePattern now accepts
%named_param
and%CONST
. The macrosdef_node_matcher
anddef_node_search
accept default named parameters. (@marcandre)
- #7: Classes
NodePattern
,ProcessedSource
andToken
moved toAST::NodePattern
, etc. Therubocop
gem has aliases to ensure compatibility. (@marcandre) - #7:
AST::ProcessedSource.from_file
now raises aErrno::ENOENT
instead of aRuboCop::Error
. (@marcandre)
- Perf #106: Fix RegexpNode#to_regexp where option is 'o' + any other. (@marcandre)
- Define
RuboCop::AST::Version::STRING
. (@marcandre)
- Gem extracted from RuboCop. (@marcandre)