node_mutation 1.3.3 → 1.4.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 544ec86ce71f51dab3347896a749a64d1d18f97a5d353f1e870c0396ff825dee
4
- data.tar.gz: e366ae9c9eb0786111839a38bb27552bdf5177d6bfcf5b097900eb096553be2a
3
+ metadata.gz: 14bd090b6d48eddaf61babaf018060fd90c923fa6011c354060f916bdd67dc69
4
+ data.tar.gz: 19318b49488ccc6bc4db47fda0c78cdcd88b2df7f9a27acf27887772108e3470
5
5
  SHA512:
6
- metadata.gz: d5a2d40616eb991bcd38aef704ba656408659acb7460c33417bfa994e7f070d2863ad71ae6c8ebc72958f90dec1dbe3703ac9d2c42f9ba96001bc1a4a0b0a891
7
- data.tar.gz: 308f7faedca3bab04cd0866b1f862aad144fd580042ee82fe0ad8773bbe5f2e7a2adaa2cfcd0f8d29e4d0f221238ae655e5c37f7a282cb9edc9f78d5fb28e1eb
6
+ metadata.gz: a73fe4094b0d71a06ddb12480c9f71e8fd3c49d845d8648a78e77c89eb59b4feeea963ba4ebbd58252135b32f5271a335f46942ed232be571b77b35ae8390d6b
7
+ data.tar.gz: 40588082698b6e0c8f3a891cd281e5bc9f571a43d1c3de71e63a8ae7489825329a236de14fb8eed1237c9d94840db00dd72671b6b5505adbe77165f65e7f5916
data/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # NodeMutation
2
2
 
3
+ ## 1.4.0 (2022-09-20)
4
+
5
+ * Add `NoopAction`
6
+
3
7
  ## 1.3.3 (2022-09-16)
4
8
 
5
9
  * Format `actions` in test result
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- node_mutation (1.3.3)
4
+ node_mutation (1.4.0)
5
5
  activesupport (< 7.0.0)
6
6
  erubis
7
7
 
data/README.md CHANGED
@@ -49,6 +49,8 @@ mutation.replace node, :message, with: 'test'
49
49
  mutation.replace_with node, 'create {{arguments}}'
50
50
  # wrap node within a block, class or module
51
51
  mutation.wrap node, with: 'module Foo'
52
+ # no operation
53
+ mutation.noop
52
54
  ```
53
55
 
54
56
  3. process actions and write the new source code to file:
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ # NoopAction to do no operation.
4
+ class NodeMutation::NoopAction < NodeMutation::Action
5
+ # Create a NoopAction
6
+ def initialize(node)
7
+ super(node, nil)
8
+ end
9
+
10
+ # The rewritten source code with proper indent.
11
+ #
12
+ # @return [String] rewritten code.
13
+ def new_code
14
+ return nil
15
+ end
16
+
17
+ private
18
+
19
+ # Calculate the begin the end positions.
20
+ def calculate_position
21
+ @start = NodeMutation.adapter.get_start(@node)
22
+ @end = NodeMutation.adapter.get_end(@node)
23
+ end
24
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class NodeMutation
4
- VERSION = "1.3.3"
4
+ VERSION = "1.4.0"
5
5
  end
data/lib/node_mutation.rb CHANGED
@@ -24,6 +24,7 @@ class NodeMutation
24
24
  autoload :ReplaceAction, 'node_mutation/action/replace_action'
25
25
  autoload :ReplaceWithAction, 'node_mutation/action/replace_with_action'
26
26
  autoload :WrapAction, 'node_mutation/action/wrap_action'
27
+ autoload :NoopAction, 'node_mutation/action/noop_action'
27
28
  autoload :Result, 'node_mutation/result'
28
29
 
29
30
  attr_reader :actions
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.3.3
4
+ version: 1.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Richard Huang
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-09-16 00:00:00.000000000 Z
11
+ date: 2022-09-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -59,6 +59,7 @@ files:
59
59
  - lib/node_mutation/action/delete_action.rb
60
60
  - lib/node_mutation/action/insert_action.rb
61
61
  - lib/node_mutation/action/insert_after_action.rb
62
+ - lib/node_mutation/action/noop_action.rb
62
63
  - lib/node_mutation/action/prepend_action.rb
63
64
  - lib/node_mutation/action/remove_action.rb
64
65
  - lib/node_mutation/action/replace_action.rb