synvert 1.4.1 → 1.4.3

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: 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: