node_mutation 1.3.2 → 1.3.3

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: d58aed2bff850b0b89d18864dcc6a3f4e85cae7f47afc619a5b45d32f48391c8
4
- data.tar.gz: 00b768bfdf534bdcd8f6584b8dad1da5d7eaba8aa7db5e5c69938706835d7b79
3
+ metadata.gz: 544ec86ce71f51dab3347896a749a64d1d18f97a5d353f1e870c0396ff825dee
4
+ data.tar.gz: e366ae9c9eb0786111839a38bb27552bdf5177d6bfcf5b097900eb096553be2a
5
5
  SHA512:
6
- metadata.gz: eb1879571f03a10b130114d712f6508c344407edf4c89db3e09cdff16c1fe614438e4f1e54d64455fd5bb7234e160ed004e454e42e8418620e4caf844e756cc9
7
- data.tar.gz: 36ceb04aa0ea17bdb6fe8b6402e3d5e53332c9256bdafcad926185ed8c2e001945dd5ba09bafa1ac0bbd1c428aa6d9cb7c1524298eeae8655a2478d5e952d482
6
+ metadata.gz: d5a2d40616eb991bcd38aef704ba656408659acb7460c33417bfa994e7f070d2863ad71ae6c8ebc72958f90dec1dbe3703ac9d2c42f9ba96001bc1a4a0b0a891
7
+ data.tar.gz: 308f7faedca3bab04cd0866b1f862aad144fd580042ee82fe0ad8773bbe5f2e7a2adaa2cfcd0f8d29e4d0f221238ae655e5c37f7a282cb9edc9f78d5fb28e1eb
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  # NodeMutation
2
2
 
3
- ## 1.3.2 (2022-09-16)
3
+ ## 1.3.3 (2022-09-16)
4
+
5
+ * Format `actions` in test result
6
+ * Add `file_path` attribute to `NodeMutation::Result`
7
+
8
+ ## 1.3.2 (2022-09-15)
4
9
 
5
10
  * Add `NodeMutation::Action.to_hash`
6
11
  * Add `NodeMutation::Result.to_hash`
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- node_mutation (1.3.2)
4
+ node_mutation (1.3.3)
5
5
  activesupport (< 7.0.0)
6
6
  erubis
7
7
 
@@ -38,10 +38,6 @@ class NodeMutation::Action
38
38
  end
39
39
  end
40
40
 
41
- def to_hash
42
- { start: start, end: @end, new_code: new_code }
43
- end
44
-
45
41
  protected
46
42
 
47
43
  # Calculate the begin the end positions.
@@ -1,6 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class NodeMutation::Result
4
+ attr_accessor :file_path
5
+
4
6
  def initialize(options)
5
7
  @options = options
6
8
  end
@@ -22,8 +24,10 @@ class NodeMutation::Result
22
24
  end
23
25
 
24
26
  def to_hash
25
- @options.each_pair.with_object({}) do |(key, value), hash|
26
- hash[key] = value.is_a?(Array) ? value.map { |action| action.to_hash } : value
27
+ hash = { file_path: file_path }
28
+ @options.each do |key, value|
29
+ hash[key] = value.is_a?(Array) ? value.map { |action| action.to_h } : value
27
30
  end
31
+ hash
28
32
  end
29
33
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class NodeMutation
4
- VERSION = "1.3.2"
4
+ VERSION = "1.3.3"
5
5
  end
data/lib/node_mutation.rb CHANGED
@@ -257,7 +257,7 @@ class NodeMutation
257
257
  NodeMutation::Result.new(
258
258
  affected: true,
259
259
  conflicted: !conflict_actions.empty?,
260
- actions: @actions
260
+ actions: format_actions(@actions)
261
261
  )
262
262
  end
263
263
 
@@ -283,4 +283,8 @@ class NodeMutation
283
283
  end
284
284
  conflict_actions
285
285
  end
286
+
287
+ def format_actions(actions)
288
+ actions.map { |action| OpenStruct.new(start: action.start, end: action.end, new_code: action.new_code ) }
289
+ end
286
290
  end
@@ -1,4 +1,6 @@
1
1
  class NodeMutation::Result
2
+ attr_accessor file_path (): String
3
+
2
4
  def initialize: (source: String) -> NodeMutation::Result
3
5
 
4
6
  def affected?: () -> bool
@@ -6,4 +8,6 @@ class NodeMutation::Result
6
8
  def conflicted?: () -> bool
7
9
 
8
10
  def new_source: () -> String
11
+
12
+ def actions: () -> Array[Hash]
9
13
  end
@@ -40,4 +40,6 @@ module NodeMutation[T]
40
40
  def wrap: (node: T, with: String) -> void
41
41
 
42
42
  def process: () -> NodeMutation::Result
43
+
44
+ def test: () -> NodeMutation::Result
43
45
  end
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.2
4
+ version: 1.3.3
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-15 00:00:00.000000000 Z
11
+ date: 2022-09-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport