synvert 1.4.1 → 1.4.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: a14ed41203f26cda5ffb3aa6d341e81a8e3753c371085c9ba2cfc050ca38c6eb
4
- data.tar.gz: 7007836bdb7304c79c87e21a4a2659f1b95b75e60c4eed89be3f7162014f3f21
3
+ metadata.gz: 19744ed1c0594d53ade16741e59666a8cd2d7b586d90b51eb6ef0c3000ff587f
4
+ data.tar.gz: cd8f5ebba8d876d3050849b4b7bdcb39f4d90f785f128696bf4f5653545c6bc9
5
5
  SHA512:
6
- metadata.gz: 114c39e16894ab30e91f1d28e8fb6bf50fa3490b88e0141f809b9e7d8939d505d1fff45e39cb1b985df70b5666e6ace570a34bb2aa7449031751ad796b069dda
7
- data.tar.gz: f2f7adfc50200ee78b87d3955a53ae1f664d86f50bc74869aca0128aeb0387dbca2e78d1fdbf3923831d5260be0d7509c41af8d348e3634b9f8c8b605a4ca986
6
+ metadata.gz: 6ed02f04fd75544802aaae831746376217eaaf9bccb97b490cf65940b2cda5b0aed47887b7cf114f716989726d07223f81975cd7cfe56b97d595cd3bc3b0780f
7
+ data.tar.gz: 5487c60b4c4d69cc3cd968b7d77e0b937e2afee42ccd1ba4a5b3333df06c617892a1dbfe63fbfac01ec4ca8a65e3dfb1a2648717b2ca9abb8da9fb5f527fc305
data/CHANGELOG.md CHANGED
@@ -1,5 +1,15 @@
1
1
  # CHANGELOG
2
2
 
3
+ ## 1.4.3 (2023-04-11)
4
+
5
+ * Uutput backtrace when `ENV['DEBUG']` is true
6
+ * Update `synvert-core` to 1.22.1
7
+
8
+ ## 1.4.2 (2023-03-29)
9
+
10
+ * Use `to_json` instead of `JSON.generate`
11
+ * Update `synvert-core` to 1.22.0
12
+
3
13
  ## 1.4.1 (2023-02-10)
4
14
 
5
15
  * Make sure `tab_width` is an Integer
data/Gemfile.lock CHANGED
@@ -1,13 +1,13 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- synvert (1.4.1)
5
- synvert-core (>= 1.21.1)
4
+ synvert (1.4.3)
5
+ synvert-core (>= 1.22.1)
6
6
 
7
7
  GEM
8
8
  remote: https://rubygems.org/
9
9
  specs:
10
- activesupport (6.1.7.2)
10
+ activesupport (6.1.7.3)
11
11
  concurrent-ruby (~> 1.0, >= 1.0.2)
12
12
  i18n (>= 1.6, < 2)
13
13
  minitest (>= 5.1)
@@ -16,7 +16,7 @@ GEM
16
16
  addressable (2.8.0)
17
17
  public_suffix (>= 2.0.2, < 5.0)
18
18
  ast (2.4.2)
19
- concurrent-ruby (1.2.0)
19
+ concurrent-ruby (1.2.2)
20
20
  coveralls (0.8.23)
21
21
  json (>= 1.8, < 3)
22
22
  simplecov (~> 0.16.1)
@@ -32,14 +32,14 @@ GEM
32
32
  i18n (1.12.0)
33
33
  concurrent-ruby (~> 1.0)
34
34
  json (2.5.1)
35
- minitest (5.17.0)
36
- node_mutation (1.9.1)
35
+ minitest (5.18.0)
36
+ node_mutation (1.13.0)
37
37
  erubis
38
38
  node_query (1.12.0)
39
39
  parallel (1.22.1)
40
- parser (3.2.1.0)
40
+ parser (3.2.1.1)
41
41
  ast (~> 2.4.1)
42
- parser_node_ext (0.10.0)
42
+ parser_node_ext (1.0.0)
43
43
  parser
44
44
  public_suffix (4.0.6)
45
45
  rake (13.0.6)
@@ -63,14 +63,13 @@ GEM
63
63
  simplecov-html (~> 0.10.0)
64
64
  simplecov-html (0.10.2)
65
65
  sync (0.5.0)
66
- synvert-core (1.21.1)
66
+ synvert-core (1.22.1)
67
67
  activesupport (< 7.0.0)
68
- erubis
69
- node_mutation (>= 1.9.0)
68
+ node_mutation (>= 1.13.0)
70
69
  node_query (>= 1.12.0)
71
70
  parallel
72
71
  parser
73
- parser_node_ext (>= 0.9.0)
72
+ parser_node_ext (>= 1.0.0)
74
73
  term-ansicolor (1.7.1)
75
74
  tins (~> 1.0)
76
75
  thor (1.1.0)
@@ -96,4 +95,4 @@ DEPENDENCIES
96
95
  webmock
97
96
 
98
97
  BUNDLED WITH
99
- 2.3.7
98
+ 2.4.7
data/lib/synvert/cli.rb CHANGED
@@ -1,7 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'optparse'
4
- require 'json'
5
4
  require 'fileutils'
6
5
 
7
6
  module Synvert
@@ -99,11 +98,15 @@ module Synvert
99
98
  @options[:command] = 'execute'
100
99
  @options[:execute_command] = execute_command
101
100
  end
102
- opts.on '-r', '--run SNIPPET_NAME', 'run a snippet with snippet name, e.g. ruby/new_hash_syntax, or remote url, or local file path' do |snippet_name|
101
+ opts.on '-r',
102
+ '--run SNIPPET_NAME',
103
+ 'run a snippet with snippet name, e.g. ruby/new_hash_syntax, or remote url, or local file path' do |snippet_name|
103
104
  @options[:command] = 'run'
104
105
  @options[:snippet_name] = snippet_name
105
106
  end
106
- opts.on '-t', '--test SNIPPET_NAME', 'test a snippet with snippet name, e.g. ruby/new_hash_syntax, or remote url, or local file path' do |snippet_name|
107
+ opts.on '-t',
108
+ '--test SNIPPET_NAME',
109
+ 'test a snippet with snippet name, e.g. ruby/new_hash_syntax, or remote url, or local file path' do |snippet_name|
107
110
  @options[:command] = 'test'
108
111
  @options[:snippet_name] = snippet_name
109
112
  end
@@ -121,10 +124,11 @@ module Synvert
121
124
  opts.on '-f', '--format FORMAT', 'output format' do |format|
122
125
  @options[:format] = format
123
126
  end
124
- opts.on '--number-of-workers NUMBER_OF_WORKERS', 'set the number of workers, if it is greater than 1, it tests snippet in parallel' do |number_of_workers|
127
+ opts.on '--number-of-workers NUMBER_OF_WORKERS',
128
+ 'set the number of workers, if it is greater than 1, it tests snippet in parallel' do |number_of_workers|
125
129
  Core::Configuration.number_of_workers = number_of_workers.to_i
126
130
  end
127
- opts.on '--double-quote', 'prefer double quote, it uses single quote by default' do |double_quote|
131
+ opts.on '--double-quote', 'prefer double quote, it uses single quote by default' do |_double_quote|
128
132
  Core::Configuration.single_quote = false
129
133
  end
130
134
  opts.on '--tab-width TAB_WIDTH', 'prefer tab width, it uses 2 by default' do |tab_width|
@@ -181,7 +185,7 @@ module Synvert
181
185
  end
182
186
  end
183
187
 
184
- puts JSON.generate(output)
188
+ puts output.to_json
185
189
  end
186
190
  end
187
191
 
@@ -252,13 +256,16 @@ module Synvert
252
256
  affected_files: rewriter.affected_files.union(rewriter.sub_snippets.sum(Set.new, &:affected_files)).to_a,
253
257
  warnings: rewriter.warnings.union(rewriter.sub_snippets.sum([], &:warnings))
254
258
  }
255
- puts JSON.generate(output)
259
+ puts output.to_json
256
260
  end
257
261
  rescue StandardError => e
262
+ if ENV['DEBUG']
263
+ puts e.backtrace.join("\n")
264
+ end
258
265
  if plain_output?
259
266
  puts "Error: #{e.message}"
260
267
  else
261
- puts JSON.generate(error: e.message)
268
+ puts({ error: e.message }.to_json)
262
269
  end
263
270
  raise
264
271
  end
@@ -266,9 +273,12 @@ module Synvert
266
273
  # test a snippet
267
274
  def test_snippet(rewriter)
268
275
  results = rewriter.test
269
- puts JSON.generate(results)
276
+ puts results.to_json
270
277
  rescue StandardError => e
271
- puts JSON.generate(error: e.message)
278
+ if ENV['DEBUG']
279
+ puts e.backtrace.join("\n")
280
+ end
281
+ puts({ error: e.message }.to_json)
272
282
  raise
273
283
  end
274
284
 
data/lib/synvert/utils.rb CHANGED
@@ -15,4 +15,4 @@ module Synvert
15
15
  end
16
16
  end
17
17
  end
18
- end
18
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Synvert
4
- VERSION = '1.4.1'
4
+ VERSION = '1.4.3'
5
5
  end
@@ -12,4 +12,4 @@ module Synvert
12
12
  end
13
13
  end
14
14
  end
15
- end
15
+ end
data/synvert-ruby.gemspec CHANGED
@@ -20,7 +20,7 @@ Gem::Specification.new do |spec|
20
20
  spec.require_paths = ['lib']
21
21
  spec.post_install_message = 'Please run `synvert-ruby --sync` first to sync snippets remotely.'
22
22
 
23
- spec.add_runtime_dependency 'synvert-core', '>= 1.21.1'
23
+ spec.add_runtime_dependency 'synvert-core', '>= 1.22.1'
24
24
 
25
25
  spec.add_development_dependency 'bundler'
26
26
  spec.add_development_dependency 'rake'
data/test.rb ADDED
@@ -0,0 +1,15 @@
1
+ Synvert::Rewriter.new 'group', 'name' do
2
+ within_files 'app/controllers/**/*.rb' do
3
+ with_node node_type: 'send', receiver: nil, message: 'render', arguments: { size: 1, '0': { node_type: 'hash', nothing_value: true } } do
4
+ replace :message, with: 'head'
5
+ goto_node 'arguments.0' do
6
+ with_node node_type: 'hash', status_value: nil do
7
+ replace_with ':ok'
8
+ end
9
+ with_node node_type: 'hash', status_value: { not: nil } do
10
+ replace_with '{{status_source}}'
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: synvert
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.1
4
+ version: 1.4.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Richard Huang
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-02-10 00:00:00.000000000 Z
11
+ date: 2023-04-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: synvert-core
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 1.21.1
19
+ version: 1.22.1
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: 1.21.1
26
+ version: 1.22.1
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -109,6 +109,7 @@ files:
109
109
  - spec/synvert/snippet_spec.rb
110
110
  - spec/synvert/utils_spec.rb
111
111
  - synvert-ruby.gemspec
112
+ - test.rb
112
113
  homepage: https://github.com/xinminlabs/synvert-ruby
113
114
  licenses:
114
115
  - MIT
@@ -128,8 +129,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
128
129
  - !ruby/object:Gem::Version
129
130
  version: '0'
130
131
  requirements: []
131
- rubygems_version: 3.4.1
132
- signing_key:
132
+ rubygems_version: 3.0.3.1
133
+ signing_key:
133
134
  specification_version: 4
134
135
  summary: synvert = syntax + convert.
135
136
  test_files: