ripper-plus 1.2.0 → 1.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. data/README.md +4 -6
  2. data/lib/ripper-plus/version.rb +1 -1
  3. metadata +2 -2
data/README.md CHANGED
@@ -119,7 +119,7 @@ Some of these errors are noticed by Ripper, and the offending portion of the syn
119
119
  [:var_alias, [:@gvar, "$foo", [1, 6]], [:@backref, "$2", [1, 11]]]]]]
120
120
  # Invalid class name
121
121
  pp Ripper.sexp('class abc; end')
122
- #=> [:program,
122
+ => [:program,
123
123
  [[:class,
124
124
  [:const_ref, [:class_name_error, [:@ident, "abc", [1, 6]]]],
125
125
  nil,
@@ -130,7 +130,7 @@ The first error, a disallowed alias, results in an `:alias_error` node wrapping
130
130
 
131
131
  [code]
132
132
  pp Ripper.sexp('def foo(a, @b); end')
133
- #=> [:program,
133
+ => [:program,
134
134
  [[:def,
135
135
  [:@ident, "foo", [1, 4]],
136
136
  [:paren,
@@ -144,7 +144,7 @@ Worse, some errors are not caught at all:
144
144
 
145
145
  [code]
146
146
  pp Ripper.sexp('def foo(a, a, a); end')
147
- #=> [:program,
147
+ => [:program,
148
148
  [[:def,
149
149
  [:@ident, "foo", [1, 4]],
150
150
  [:paren,
@@ -160,7 +160,7 @@ This is very bad. Now every consumer of the Ripper parse tree must check *all me
160
160
 
161
161
  [code]
162
162
  pp Ripper.sexp('something.each { |a, (b, *c, (d, e), a), f| }')
163
- #=> [:program,
163
+ => [:program,
164
164
  [[:method_add_block,
165
165
  [:call,
166
166
  [:var_ref, [:@ident, "something", [1, 0]]], :".",
@@ -198,8 +198,6 @@ Overall, Ripper is very complete for a library covered in "EXPERIMENTAL" warning
198
198
 
199
199
  In the meantime, I'll be using `ripper-plus` in Laser to statically analyze all kinds of stuff about Ruby, but I look forward to the day where I can add `RipperPlus = Ripper if RUBY_VERSION >= MERGED_VERSION` to ripper-plus's main file. `ripper-plus` is O(N), though it's not blazingly fast: it takes about 20-30 ms on my machine to transform the Ripper AST for [the biggest, ugliest Laser code file: the CFG compiler](https://github.com/michaeledgar/laser/blob/master/lib/laser/analysis/control_flow/cfg_builder.rb) to a RipperPlus AST. It takes 50ms for Ripper to parse it in the first place. (That benchmarked transformation is done in-place: `ripper-plus`'s default behavior is to duplicate the Ripper AST.)
200
200
 
201
- If you have ideas or thoughts, please discuss them on ruby-talk and/or ruby-core! I don't have comments implemented for a reason: I feel it fragments the center of discussion.
202
-
203
201
  ## Contributing to ripper-plus
204
202
 
205
203
  * Check out the latest master to make sure the feature hasn't been implemented or the bug hasn't been fixed yet
@@ -2,7 +2,7 @@ module RipperPlus
2
2
  module Version
3
3
  MAJOR = 1
4
4
  MINOR = 2
5
- PATCH = 0
5
+ PATCH = 1
6
6
  BUILD = ''
7
7
 
8
8
  if BUILD.empty?
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: ripper-plus
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 1.2.0
5
+ version: 1.2.1
6
6
  platform: ruby
7
7
  authors:
8
8
  - Michael Edgar
@@ -98,7 +98,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
98
98
  requirements:
99
99
  - - ">="
100
100
  - !ruby/object:Gem::Version
101
- hash: -1365054536111206632
101
+ hash: -1596603294838898229
102
102
  segments:
103
103
  - 0
104
104
  version: "0"