node_mutation 1.21.0 → 1.21.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +5 -0
- data/Gemfile.lock +2 -2
- data/README.md +5 -0
- data/lib/node_mutation/action/group_action.rb +0 -2
- data/lib/node_mutation/action.rb +3 -1
- data/lib/node_mutation/result.rb +1 -1
- data/lib/node_mutation/struct.rb +1 -1
- data/lib/node_mutation/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e659aa61170c013d38f7ae7fb18d7ce236b588cdd573d62af6a3eab683216a9f
|
4
|
+
data.tar.gz: 9fe3a31666deda95fef8cfd668e09b880d484e6763483ec573b3e5869e8b593b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a1f3b204d8cb0e74e7d9afc52893e7b2930ac51104ae61975406d93de2c4e617fef2afd12e57e73f15efd6d9ad11a19a57c2adcad14893b99f778dd0ebbde0d5
|
7
|
+
data.tar.gz: a193a00b15323f8edcebd30dbd225c0e82a5a8831e4d3ae54a16aa211c0ba7e694283aea25353e081cb94e7db3a707c856de73837f6da04c1fa4700f522911e1
|
data/CHANGELOG.md
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
node_mutation (1.21.
|
4
|
+
node_mutation (1.21.1)
|
5
5
|
|
6
6
|
GEM
|
7
7
|
remote: https://rubygems.org/
|
@@ -37,7 +37,7 @@ GEM
|
|
37
37
|
parser (3.2.2.3)
|
38
38
|
ast (~> 2.4.1)
|
39
39
|
racc
|
40
|
-
parser_node_ext (1.2.
|
40
|
+
parser_node_ext (1.2.1)
|
41
41
|
parser
|
42
42
|
prettier_print (1.2.1)
|
43
43
|
pry (0.14.1)
|
data/README.md
CHANGED
@@ -51,6 +51,11 @@ mutation.replace_with node, 'create {{arguments}}'
|
|
51
51
|
mutation.wrap node, prefix: 'module Foo', suffix: 'end', newline: true
|
52
52
|
# no operation
|
53
53
|
mutation.noop
|
54
|
+
# group actions
|
55
|
+
mutation.group do
|
56
|
+
mutation.delete node, :message, :dot
|
57
|
+
mutation.replace node, 'receiver.caller.message', with: 'flat_map'
|
58
|
+
end
|
54
59
|
```
|
55
60
|
|
56
61
|
3. process actions and write the new source code to file:
|
data/lib/node_mutation/action.rb
CHANGED
@@ -8,7 +8,9 @@ class NodeMutation::Action
|
|
8
8
|
# @return [Integer] end position
|
9
9
|
# @!attribute [rw] type
|
10
10
|
# @return [Symbol] action type, :insert, :replace or :delete
|
11
|
-
|
11
|
+
# @!attribute [rw] actions
|
12
|
+
# @return [Array<NodeMutation::Action>] child actions
|
13
|
+
attr_accessor :start, :end, :type, :actions
|
12
14
|
|
13
15
|
# Initialize an action.
|
14
16
|
#
|
data/lib/node_mutation/result.rb
CHANGED
@@ -21,7 +21,7 @@ class NodeMutation::Result
|
|
21
21
|
def actions=(actions)
|
22
22
|
@actions =
|
23
23
|
actions.map { |action|
|
24
|
-
NodeMutation::Struct::Action.new(action.type, action.start, action.end, action.new_code)
|
24
|
+
NodeMutation::Struct::Action.new(action.type, action.start, action.end, action.new_code, action.actions)
|
25
25
|
}
|
26
26
|
end
|
27
27
|
|
data/lib/node_mutation/struct.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: node_mutation
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.21.
|
4
|
+
version: 1.21.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Richard Huang
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-10-01 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: ast node mutation apis
|
14
14
|
email:
|
@@ -73,7 +73,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
73
73
|
- !ruby/object:Gem::Version
|
74
74
|
version: '0'
|
75
75
|
requirements: []
|
76
|
-
rubygems_version: 3.4.
|
76
|
+
rubygems_version: 3.4.20
|
77
77
|
signing_key:
|
78
78
|
specification_version: 4
|
79
79
|
summary: ast node mutation apis
|