synvert-core 1.21.6 → 1.21.7

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: be03ea2206a20768b84cfc41ae93146510c561b1ae271ae4f1d1e6edc1a5c0c8
4
- data.tar.gz: fa219393c0c4db9e4b2080d9e6a53245e525a29f12416e013c0afaaaa2c3629c
3
+ metadata.gz: 0d33e2874a1d23b725a4d2bb62e8cfd03d71b9c82e22fbe9a349336ac19f6eab
4
+ data.tar.gz: 74a56b255b08c5f017fe0717dbd644cfc61983a06c6c7c0b0ec86f77d6566ff1
5
5
  SHA512:
6
- metadata.gz: e9700c9b08ea11158f741634883e1cec3a69c5b18b15dd80424e42d6541f605aa16ac494dfd4bc25b4d2aa88b61b976e76d1a2e8b9f09c4a4e7a870bb9d5b43a
7
- data.tar.gz: e382f8066407aa95c8079ced3e08bc453574e8329779c1d80c425441fbb72882cca60b217a482c4c691dd0ed02d1d7a3c88a712ff5b53c8f64a6dda922a8ec59
6
+ metadata.gz: a98c6ded4885bebda395ad253cb826ce1e82ad06d734cc0bfbd00b592676c6dde8aac530d30d2d27beb3b7ca314519a782de91fa0e97905ea4c1fd62122eef98
7
+ data.tar.gz: ec1d2ac24a8f9066bb228363b961cc1e93da96f501cbfb166fb398cb21a3bd80d5ee496b261e0901289b6fed3d9749fdf04cd5b2db458853caf742ceca5c5691
@@ -11,10 +11,10 @@ jobs:
11
11
  runs-on: ubuntu-latest
12
12
  strategy:
13
13
  matrix:
14
- ruby-version: ['2.6', '2.7', '3.0', '3.1']
14
+ ruby-version: ['2.7', '3.0', '3.1', '3.2']
15
15
 
16
16
  steps:
17
- - uses: actions/checkout@v2
17
+ - uses: actions/checkout@v3
18
18
  - name: Set up Ruby
19
19
  uses: ruby/setup-ruby@v1
20
20
  with:
@@ -28,10 +28,11 @@ jobs:
28
28
  needs: test
29
29
  name: Update gh-pages to docs
30
30
  steps:
31
- - uses: actions/checkout@v2
32
- - uses: actions/setup-ruby@v1
31
+ - uses: actions/checkout@v3
32
+ - uses: ruby/setup-ruby@v1
33
33
  with:
34
- ruby-version: '3.1'
34
+ ruby-version: '3.2'
35
+ bundler-cache: true
35
36
  - name: Install required gem dependencies
36
37
  run: gem install yard redcarpet github-markup --no-document
37
38
  - name: Build YARD Ruby Documentation
data/CHANGELOG.md CHANGED
@@ -1,5 +1,10 @@
1
1
  # CHANGELOG
2
2
 
3
+ ## 1.21.7 (2023-03-23)
4
+
5
+ * Polish `erb` engine
6
+ * Update `node_mutation` to 1.12.1
7
+
3
8
  ## 1.21.6 (2023-02-16)
4
9
 
5
10
  * `RAILS_VIEW_FILES` do not check `haml` and `slim` files until we support them
data/Gemfile CHANGED
@@ -5,7 +5,6 @@ source 'https://rubygems.org'
5
5
  # Specify your gem's dependencies in synvert.gemspec
6
6
  gemspec
7
7
 
8
- require 'pp' # https://github.com/defunkt/fakefs/issues/99
9
8
  gem "fakefs", require: "fakefs/safe"
10
9
  gem "guard"
11
10
  gem "guard-rspec"
data/Gemfile.lock CHANGED
@@ -1,10 +1,9 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- synvert-core (1.21.6)
4
+ synvert-core (1.21.7)
5
5
  activesupport (< 7.0.0)
6
- erubis
7
- node_mutation (>= 1.9.2)
6
+ node_mutation (>= 1.12.1)
8
7
  node_query (>= 1.12.0)
9
8
  parallel
10
9
  parser
@@ -13,7 +12,7 @@ PATH
13
12
  GEM
14
13
  remote: https://rubygems.org/
15
14
  specs:
16
- activesupport (6.1.7.2)
15
+ activesupport (6.1.7.3)
17
16
  concurrent-ruby (~> 1.0, >= 1.0.2)
18
17
  i18n (>= 1.6, < 2)
19
18
  minitest (>= 5.1)
@@ -21,10 +20,10 @@ GEM
21
20
  zeitwerk (~> 2.3)
22
21
  ast (2.4.2)
23
22
  coderay (1.1.3)
24
- concurrent-ruby (1.2.0)
23
+ concurrent-ruby (1.2.2)
25
24
  diff-lcs (1.5.0)
26
25
  erubis (2.7.0)
27
- fakefs (1.8.0)
26
+ fakefs (2.4.0)
28
27
  ffi (1.15.5)
29
28
  formatador (1.1.0)
30
29
  guard (2.18.0)
@@ -48,16 +47,16 @@ GEM
48
47
  rb-inotify (~> 0.9, >= 0.9.10)
49
48
  lumberjack (1.2.8)
50
49
  method_source (1.0.0)
51
- minitest (5.17.0)
50
+ minitest (5.18.0)
52
51
  nenv (0.3.0)
53
- node_mutation (1.9.3)
52
+ node_mutation (1.12.1)
54
53
  erubis
55
54
  node_query (1.12.0)
56
55
  notiffany (0.1.3)
57
56
  nenv (~> 0.1)
58
57
  shellany (~> 0.0)
59
58
  parallel (1.22.1)
60
- parser (3.2.1.0)
59
+ parser (3.2.1.1)
61
60
  ast (~> 2.4.1)
62
61
  parser_node_ext (1.0.0)
63
62
  parser
@@ -1,19 +1,17 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'erubis'
4
-
5
3
  module Synvert::Core
6
4
  module Engine
7
5
  class Erb
8
6
  class << self
9
- # convert erb to ruby code.
7
+ # Encode erb string, leave only ruby code, replace other erb code with whitespace.
10
8
  #
11
- # @param source [String] erb source code.
12
- # @return [String] ruby source code.
9
+ # @param source [String] erb code.
10
+ # @return [String] encoded ruby code.
13
11
  def encode(source)
14
- source.gsub(/^.*?<%=?/m) { |str| ' ' * str.size }
15
- .gsub(/%>.*?$/m) { |str| ' ' * str.size }
16
- .gsub(/%>.*?<%=?/m) { |str| ' ' * str.size }
12
+ source.gsub(/%>.*?<%=?/m) { |str| ' ' * str.size }
13
+ .sub(/^.*?<%=?/m) { |str| ' ' * str.size }
14
+ .sub(/%>.*?$/m) { |str| ' ' * str.size }
17
15
  end
18
16
  end
19
17
  end
@@ -20,7 +20,7 @@ module Synvert::Core
20
20
  @block = block
21
21
  strategy = NodeMutation::Strategy::KEEP_RUNNING
22
22
  if rewriter.options[:strategy] == Strategy::ALLOW_INSERT_AT_SAME_POSITION
23
- strategy |= NodeMutation::Strategy::ALLOW_INSERT_AT_SAME_POSITION
23
+ strategy |= NodeMutation::Strategy::ALLOW_INSERT_AT_SAME_POSITION
24
24
  end
25
25
  NodeMutation.configure({ strategy: strategy, tab_width: Configuration.tab_width })
26
26
  rewriter.helpers.each { |helper| singleton_class.send(:define_method, helper[:name], &helper[:block]) }
@@ -90,7 +90,6 @@ module Synvert::Core
90
90
  end
91
91
  end
92
92
 
93
-
94
93
  # Gets current node, it allows to get current node in block code.
95
94
  #
96
95
  # @return [Parser::AST::Node]
@@ -404,7 +403,8 @@ module Synvert::Core
404
403
  if str.include?(quote) && !str.include?(another_quote)
405
404
  return "#{another_quote}#{str}#{another_quote}"
406
405
  end
407
- escaped_str = str.gsub(quote) { |char| '\\' + quote }
406
+
407
+ escaped_str = str.gsub(quote) { |_char| '\\' + quote }
408
408
  quote + escaped_str + quote
409
409
  end
410
410
 
@@ -413,7 +413,7 @@ module Synvert::Core
413
413
  # @param tab_size [Integer] tab size
414
414
  # @return [String]
415
415
  def add_leading_spaces(str, tab_size: 1)
416
- " " * Configuration.tab_width * tab_size + str;
416
+ (" " * Configuration.tab_width * tab_size) + str;
417
417
  end
418
418
 
419
419
  private
@@ -94,7 +94,15 @@ module Synvert::Core
94
94
  # @return [Array<Object>] the test results
95
95
  # @!attribute [rw] options
96
96
  # @return [Hash] the rewriter options
97
- attr_reader :group, :name, :sub_snippets, :helpers, :warnings, :affected_files, :ruby_version, :gem_spec, :test_results
97
+ attr_reader :group,
98
+ :name,
99
+ :sub_snippets,
100
+ :helpers,
101
+ :warnings,
102
+ :affected_files,
103
+ :ruby_version,
104
+ :gem_spec,
105
+ :test_results
98
106
  attr_accessor :options
99
107
 
100
108
  # Initialize a Rewriter.
@@ -230,10 +238,11 @@ module Synvert::Core
230
238
  instance.process
231
239
  end
232
240
  else
233
- results = handle_one_file(Array(file_patterns)) do |file_path|
234
- instance = Rewriter::Instance.new(self, file_path, &block)
235
- instance.test
236
- end
241
+ results =
242
+ handle_one_file(Array(file_patterns)) do |file_path|
243
+ instance = Rewriter::Instance.new(self, file_path, &block)
244
+ instance.test
245
+ end
237
246
  merge_test_results(results)
238
247
  end
239
248
  end
@@ -1,4 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class SnippetNotFoundError < StandardError
4
- end
4
+ end
@@ -4,4 +4,4 @@ module Synvert::Core
4
4
  class Strategy
5
5
  ALLOW_INSERT_AT_SAME_POSITION = "allow_insert_at_same_position"
6
6
  end
7
- end
7
+ end
@@ -15,14 +15,17 @@ module Synvert::Core
15
15
  if is_valid_url?(snippet_name)
16
16
  uri = URI.parse(format_url(snippet_name))
17
17
  return uri.open.read if remote_snippet_exists?(uri)
18
+
18
19
  raise SnippetNotFoundError.new("#{snippet_name} nout found")
19
20
  elsif is_valid_file?(snippet_name)
20
21
  return File.read(snippet_name)
21
22
  else
22
23
  snippet_path = snippet_expand_path(snippet_name)
23
24
  return File.read(snippet_path) if File.exist?(snippet_path)
25
+
24
26
  snippet_uri = URI.parse(format_url(remote_snippet_url(snippet_name)))
25
27
  return snippet_uri.open.read if remote_snippet_exists?(snippet_uri)
28
+
26
29
  raise SnippetNotFoundError.new("#{snippet_name} nout found")
27
30
  end
28
31
  end
@@ -32,9 +35,10 @@ module Synvert::Core
32
35
  # @return [Array<String>] file paths
33
36
  def glob(file_patterns)
34
37
  Dir.chdir(Configuration.root_path) do
35
- all_files = file_patterns.flat_map do |file_pattern|
36
- Dir.glob(file_pattern)
37
- end
38
+ all_files =
39
+ file_patterns.flat_map do |file_pattern|
40
+ Dir.glob(file_pattern)
41
+ end
38
42
  filter_only_paths(all_files) - get_skip_files
39
43
  end
40
44
  end
@@ -105,4 +109,4 @@ module Synvert::Core
105
109
  end
106
110
  end
107
111
  end
108
- end
112
+ end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Synvert
4
4
  module Core
5
- VERSION = '1.21.6'
5
+ VERSION = '1.21.7'
6
6
  end
7
7
  end
data/lib/synvert/core.rb CHANGED
@@ -9,7 +9,6 @@ require_relative './core/node_ext'
9
9
  require 'active_support'
10
10
  require 'active_support/core_ext'
11
11
  require 'erubis'
12
- require 'set'
13
12
  require 'node_query'
14
13
  require 'node_mutation'
15
14
 
@@ -34,11 +34,14 @@ module Synvert::Core
34
34
  <% end %>
35
35
  <% end %>
36
36
  EOF
37
- encoded_lines = Engine::Erb.encode(source).split("\n")
38
- expect(encoded_lines[0]).to eq ' content_for :head do '
39
- expect(encoded_lines[1]).to eq " asset_path('bg.png') "
40
- expect(encoded_lines[-2]).to eq ' end '
41
- expect(encoded_lines[-1]).to eq ' end '
37
+ encoded_source = Engine::Erb.encode(source)
38
+ expect(encoded_source).to be_include 'content_for :head do'
39
+ expect(encoded_source).to be_include " asset_path('bg.png')"
40
+ expect(encoded_source).to be_include 'post = Post.find(:first)'
41
+ expect(encoded_source).to be_include "link_to_function 'test', \"confirm('test');\""
42
+ expect(encoded_source).to be_include 'end'
43
+ expect(encoded_source).not_to be_include 'style'
44
+ expect(encoded_source).not_to be_include 'div'
42
45
  end
43
46
  end
44
47
  end
@@ -12,7 +12,12 @@ module Synvert::Core
12
12
  it 'parses find_node' do
13
13
  scope = double
14
14
  block = proc {}
15
- expect(Rewriter::WithinScope).to receive(:new).with(instance, '.send[message=create]', {}, &block).and_return(scope)
15
+ expect(Rewriter::WithinScope).to receive(:new).with(
16
+ instance,
17
+ '.send[message=create]',
18
+ {},
19
+ &block
20
+ ).and_return(scope)
16
21
  expect(scope).to receive(:process)
17
22
  instance.find_node('.send[message=create]', &block)
18
23
  end
@@ -99,28 +104,44 @@ module Synvert::Core
99
104
  it 'parses append' do
100
105
  instance.instance_variable_set(:@current_mutation, double)
101
106
  instance.current_node = double
102
- expect(instance.instance_variable_get(:@current_mutation)).to receive(:append).with(instance.current_node, 'Foobar')
107
+ expect(instance.instance_variable_get(:@current_mutation)).to receive(:append).with(
108
+ instance.current_node,
109
+ 'Foobar'
110
+ )
103
111
  instance.append 'Foobar'
104
112
  end
105
113
 
106
114
  it 'parses prepend' do
107
115
  instance.instance_variable_set(:@current_mutation, double)
108
116
  instance.current_node = double
109
- expect(instance.instance_variable_get(:@current_mutation)).to receive(:prepend).with(instance.current_node, 'Foobar')
117
+ expect(instance.instance_variable_get(:@current_mutation)).to receive(:prepend).with(
118
+ instance.current_node,
119
+ 'Foobar'
120
+ )
110
121
  instance.prepend 'Foobar'
111
122
  end
112
123
 
113
124
  it 'parses insert at end' do
114
125
  instance.instance_variable_set(:@current_mutation, double)
115
126
  instance.current_node = double
116
- expect(instance.instance_variable_get(:@current_mutation)).to receive(:insert).with(instance.current_node, 'Foobar', at: 'end', to: 'receiver')
127
+ expect(instance.instance_variable_get(:@current_mutation)).to receive(:insert).with(
128
+ instance.current_node,
129
+ 'Foobar',
130
+ at: 'end',
131
+ to: 'receiver'
132
+ )
117
133
  instance.insert 'Foobar', to: 'receiver'
118
134
  end
119
135
 
120
136
  it 'parses insert at beginning' do
121
137
  instance.instance_variable_set(:@current_mutation, double)
122
138
  instance.current_node = double
123
- expect(instance.instance_variable_get(:@current_mutation)).to receive(:insert).with(instance.current_node, 'Foobar', at: 'beginning', to: nil)
139
+ expect(instance.instance_variable_get(:@current_mutation)).to receive(:insert).with(
140
+ instance.current_node,
141
+ 'Foobar',
142
+ at: 'beginning',
143
+ to: nil
144
+ )
124
145
  instance.insert 'Foobar', at: 'beginning'
125
146
  end
126
147
 
@@ -128,7 +149,12 @@ module Synvert::Core
128
149
  instance.instance_variable_set(:@current_mutation, double)
129
150
  instance.current_node = double
130
151
  expect(NodeMutation).to receive_message_chain(:adapter, :get_start_loc, :column).and_return(2)
131
- expect(instance.instance_variable_get(:@current_mutation)).to receive(:insert).with(instance.current_node, "\n Foobar", at: 'end', to: nil)
152
+ expect(instance.instance_variable_get(:@current_mutation)).to receive(:insert).with(
153
+ instance.current_node,
154
+ "\n Foobar",
155
+ at: 'end',
156
+ to: nil
157
+ )
132
158
  instance.insert_after 'Foobar'
133
159
  end
134
160
 
@@ -136,7 +162,12 @@ module Synvert::Core
136
162
  instance.instance_variable_set(:@current_mutation, double)
137
163
  instance.current_node = double
138
164
  expect(NodeMutation).to receive_message_chain(:adapter, :get_start_loc, :column).and_return(2)
139
- expect(instance.instance_variable_get(:@current_mutation)).to receive(:insert).with(instance.current_node, "Foobar\n ", at: 'beginning', to: nil)
165
+ expect(instance.instance_variable_get(:@current_mutation)).to receive(:insert).with(
166
+ instance.current_node,
167
+ "Foobar\n ",
168
+ at: 'beginning',
169
+ to: nil
170
+ )
140
171
  instance.insert_before 'Foobar'
141
172
  end
142
173
 
@@ -153,35 +184,53 @@ module Synvert::Core
153
184
  it 'parses replace_with' do
154
185
  instance.instance_variable_set(:@current_mutation, double)
155
186
  instance.current_node = double
156
- expect(instance.instance_variable_get(:@current_mutation)).to receive(:replace_with).with(instance.current_node, 'Foobar')
187
+ expect(instance.instance_variable_get(:@current_mutation)).to receive(:replace_with).with(
188
+ instance.current_node,
189
+ 'Foobar'
190
+ )
157
191
  instance.replace_with 'Foobar'
158
192
  end
159
193
 
160
194
  it 'parses replace with' do
161
195
  instance.instance_variable_set(:@current_mutation, double)
162
196
  instance.current_node = double
163
- expect(instance.instance_variable_get(:@current_mutation)).to receive(:replace).with(instance.current_node, :message, with: 'Foobar')
197
+ expect(instance.instance_variable_get(:@current_mutation)).to receive(:replace).with(
198
+ instance.current_node,
199
+ :message,
200
+ with: 'Foobar'
201
+ )
164
202
  instance.replace :message, with: 'Foobar'
165
203
  end
166
204
 
167
205
  it 'parses remove' do
168
206
  instance.instance_variable_set(:@current_mutation, double)
169
207
  instance.current_node = double
170
- expect(instance.instance_variable_get(:@current_mutation)).to receive(:remove).with(instance.current_node, and_comma: true)
208
+ expect(instance.instance_variable_get(:@current_mutation)).to receive(:remove).with(
209
+ instance.current_node,
210
+ and_comma: true
211
+ )
171
212
  instance.remove and_comma: true
172
213
  end
173
214
 
174
215
  it 'parses delete' do
175
216
  instance.instance_variable_set(:@current_mutation, double)
176
217
  instance.current_node = double
177
- expect(instance.instance_variable_get(:@current_mutation)).to receive(:delete).with(instance.current_node, :dot, :message, and_comma: true)
218
+ expect(instance.instance_variable_get(:@current_mutation)).to receive(:delete).with(
219
+ instance.current_node,
220
+ :dot,
221
+ :message,
222
+ and_comma: true
223
+ )
178
224
  instance.delete :dot, :message, and_comma: true
179
225
  end
180
226
 
181
227
  it 'parses wrap with' do
182
228
  instance.instance_variable_set(:@current_mutation, double)
183
229
  instance.current_node = double
184
- expect(instance.instance_variable_get(:@current_mutation)).to receive(:wrap).with(instance.current_node, with: 'module Foobar')
230
+ expect(instance.instance_variable_get(:@current_mutation)).to receive(:wrap).with(
231
+ instance.current_node,
232
+ with: 'module Foobar'
233
+ )
185
234
  instance.wrap with: 'module Foobar'
186
235
  end
187
236
 
@@ -330,8 +379,8 @@ module Synvert::Core
330
379
  results = instance.test
331
380
  expect(results.file_path).to eq 'spec/models/post_spec.rb'
332
381
  expect(results.actions).to eq [
333
- OpenStruct.new(start: 35, end: 59, new_code: 'create :user'),
334
- OpenStruct.new(start: 69, end: 105, new_code: 'create :post, user: user')
382
+ NodeMutation::Struct::Action.new(35, 59, 'create :user'),
383
+ NodeMutation::Struct::Action.new(69, 105, 'create :post, user: user')
335
384
  ]
336
385
  end
337
386
 
@@ -369,7 +418,7 @@ module Synvert::Core
369
418
  expect(File).to receive(:read).with('./app/views/posts/_form.html.erb', encoding: 'UTF-8').and_return(input)
370
419
  result = instance.test
371
420
  expect(result.file_path).to eq 'app/views/posts/_form.html.erb'
372
- expect(result.actions).to eq [OpenStruct.new(start: 2, end: 2, new_code: '=')]
421
+ expect(result.actions).to eq [NodeMutation::Struct::Action.new(2, 2, '=')]
373
422
  end
374
423
  end
375
424
 
@@ -33,13 +33,14 @@ module Synvert::Core
33
33
 
34
34
  describe '#process' do
35
35
  it 'rewrites the file' do
36
- rewriter = Rewriter.new('group', 'name') do
37
- within_files '**/*.rb' do
38
- with_node node_type: 'class', name: 'Foobar' do
39
- replace :name, with: 'Synvert'
36
+ rewriter =
37
+ Rewriter.new('group', 'name') do
38
+ within_files '**/*.rb' do
39
+ with_node node_type: 'class', name: 'Foobar' do
40
+ replace :name, with: 'Synvert'
41
+ end
40
42
  end
41
43
  end
42
- end
43
44
  input = "class Foobar\nend"
44
45
  output = "class Synvert\nend"
45
46
  FakeFS do
@@ -52,13 +53,14 @@ module Synvert::Core
52
53
 
53
54
  describe '#test' do
54
55
  it 'gets test results' do
55
- rewriter = Rewriter.new('group', 'name') do
56
- within_files '**/*.rb' do
57
- with_node node_type: 'class', name: 'Foobar' do
58
- replace :name, with: 'Synvert'
56
+ rewriter =
57
+ Rewriter.new('group', 'name') do
58
+ within_files '**/*.rb' do
59
+ with_node node_type: 'class', name: 'Foobar' do
60
+ replace :name, with: 'Synvert'
61
+ end
59
62
  end
60
63
  end
61
- end
62
64
  input = "class Foobar\nend"
63
65
  FakeFS do
64
66
  File.write("code.rb", input)
@@ -66,7 +68,7 @@ module Synvert::Core
66
68
  expect(results[0].file_path).to eq '/code.rb'
67
69
  expect(results[0].affected?).to be_truthy
68
70
  expect(results[0].conflicted?).to be_falsey
69
- expect(results[0].actions).to eq [OpenStruct.new(start: 6, end: 12, new_code: 'Synvert')]
71
+ expect(results[0].actions).to eq [NodeMutation::Struct::Action.new(6, 12, 'Synvert')]
70
72
  end
71
73
  end
72
74
  end
@@ -226,9 +228,10 @@ module Synvert::Core
226
228
  it 'adds snippet by http url' do
227
229
  expect(Utils).to receive(:remote_snippet_exists?).with(URI.parse('http://synvert.net/foo/bar.rb')).and_return(true)
228
230
  expect_any_instance_of(URI::HTTP).to receive(:open).and_return(StringIO.new("Rewriter.new 'group', 'sub_rewriter' do\nend"))
229
- rewriter = Rewriter.new 'group', 'rewriter' do
230
- add_snippet 'http://synvert.net/foo/bar.rb'
231
- end
231
+ rewriter =
232
+ Rewriter.new 'group', 'rewriter' do
233
+ add_snippet 'http://synvert.net/foo/bar.rb'
234
+ end
232
235
  rewriter.process
233
236
  expect(Rewriter.fetch('group', 'sub_rewriter')).not_to be_nil
234
237
  end
@@ -236,9 +239,10 @@ module Synvert::Core
236
239
  it 'adds snippet by file path' do
237
240
  expect(File).to receive(:exist?).and_return(true)
238
241
  expect(File).to receive(:read).and_return("Rewriter.new 'group', 'sub_rewriter' do\nend")
239
- rewriter = Rewriter.new 'group', 'rewriter' do
240
- add_snippet '/home/richard/foo/bar.rb'
241
- end
242
+ rewriter =
243
+ Rewriter.new 'group', 'rewriter' do
244
+ add_snippet '/home/richard/foo/bar.rb'
245
+ end
242
246
  rewriter.process
243
247
  expect(Rewriter.fetch('group', 'sub_rewriter')).not_to be_nil
244
248
  end
@@ -61,22 +61,37 @@ module Synvert::Core
61
61
  end
62
62
 
63
63
  it 'gets all files' do
64
- expect(Dir).to receive(:glob).with('**/*.rb').and_return(['app/models/post.rb', 'app/controllers/posts_controller.rb'])
64
+ expect(Dir).to receive(:glob).with('**/*.rb').and_return(
65
+ [
66
+ 'app/models/post.rb',
67
+ 'app/controllers/posts_controller.rb'
68
+ ]
69
+ )
65
70
  expect(described_class.glob(['**/*.rb'])).to eq(['app/models/post.rb', 'app/controllers/posts_controller.rb'])
66
71
  end
67
72
 
68
73
  it 'filters only paths' do
69
74
  Configuration.only_paths = ['app/models']
70
- expect(Dir).to receive(:glob).with('**/*.rb').and_return(['app/models/post.rb', 'app/controllers/posts_controller.rb'])
75
+ expect(Dir).to receive(:glob).with('**/*.rb').and_return(
76
+ [
77
+ 'app/models/post.rb',
78
+ 'app/controllers/posts_controller.rb'
79
+ ]
80
+ )
71
81
  expect(described_class.glob(['**/*.rb'])).to eq(['app/models/post.rb'])
72
82
  end
73
83
 
74
84
  it 'skip files' do
75
85
  Configuration.skip_paths = ['app/controllers/**/*']
76
- expect(Dir).to receive(:glob).with('**/*.rb').and_return(['app/models/post.rb', 'app/controllers/posts_controller.rb'])
86
+ expect(Dir).to receive(:glob).with('**/*.rb').and_return(
87
+ [
88
+ 'app/models/post.rb',
89
+ 'app/controllers/posts_controller.rb'
90
+ ]
91
+ )
77
92
  expect(Dir).to receive(:glob).with('app/controllers/**/*').and_return(['app/controllers/posts_controller.rb'])
78
93
  expect(described_class.glob(['**/*.rb'])).to eq(['app/models/post.rb'])
79
94
  end
80
95
  end
81
96
  end
82
- end
97
+ end
@@ -20,9 +20,8 @@ Gem::Specification.new do |spec|
20
20
  spec.require_paths = ["lib"]
21
21
 
22
22
  spec.add_runtime_dependency "activesupport", "< 7.0.0"
23
- spec.add_runtime_dependency "erubis"
24
23
  spec.add_runtime_dependency "node_query", ">= 1.12.0"
25
- spec.add_runtime_dependency "node_mutation", ">= 1.9.2"
24
+ spec.add_runtime_dependency "node_mutation", ">= 1.12.1"
26
25
  spec.add_runtime_dependency "parser"
27
26
  spec.add_runtime_dependency "parser_node_ext", ">= 1.0.0"
28
27
  spec.add_runtime_dependency "parallel"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: synvert-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.21.6
4
+ version: 1.21.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Richard Huang
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-02-16 00:00:00.000000000 Z
11
+ date: 2023-03-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -24,20 +24,6 @@ dependencies:
24
24
  - - "<"
25
25
  - !ruby/object:Gem::Version
26
26
  version: 7.0.0
27
- - !ruby/object:Gem::Dependency
28
- name: erubis
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - ">="
32
- - !ruby/object:Gem::Version
33
- version: '0'
34
- type: :runtime
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - ">="
39
- - !ruby/object:Gem::Version
40
- version: '0'
41
27
  - !ruby/object:Gem::Dependency
42
28
  name: node_query
43
29
  requirement: !ruby/object:Gem::Requirement
@@ -58,14 +44,14 @@ dependencies:
58
44
  requirements:
59
45
  - - ">="
60
46
  - !ruby/object:Gem::Version
61
- version: 1.9.2
47
+ version: 1.12.1
62
48
  type: :runtime
63
49
  prerelease: false
64
50
  version_requirements: !ruby/object:Gem::Requirement
65
51
  requirements:
66
52
  - - ">="
67
53
  - !ruby/object:Gem::Version
68
- version: 1.9.2
54
+ version: 1.12.1
69
55
  - !ruby/object:Gem::Dependency
70
56
  name: parser
71
57
  requirement: !ruby/object:Gem::Requirement
@@ -188,7 +174,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
188
174
  - !ruby/object:Gem::Version
189
175
  version: '0'
190
176
  requirements: []
191
- rubygems_version: 3.4.1
177
+ rubygems_version: 3.4.6
192
178
  signing_key:
193
179
  specification_version: 4
194
180
  summary: convert ruby code to better syntax.