synvert 0.17.0 → 0.18.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: fc982f230933521fb1b332728e9affea43b0245b7c0dacd501cce3050983ee90
4
- data.tar.gz: 9a370e4f362e8c40eb9cdb8eda9121234d81ded3966428c1d803d33a83099433
3
+ metadata.gz: 030b18c7d1eecde7a29eb47590f7104937467693f1ab3475016c0cccbc8ca3b2
4
+ data.tar.gz: 73839b855d8bbb9ded39cb99dce1645a109516a5e4c0cb229aa26f3076ce9ab5
5
5
  SHA512:
6
- metadata.gz: 2f721c8e10e17347a5db3bc8f39a8fe178d16b77617de653f91edfc3887ee0f74d9076d3a7bcec6e6e7fe293d15378e461ab33f00a9cd92de1868e7aa405c2fd
7
- data.tar.gz: b3d976e148b2c33c5a104b1ab94fc8e4898729f07680971a1b6f08684a0f8fdf23d90b000d38d77f22c8b337829da4c1fea825a8b5c9ef8f2952e34e4a6d5f4c
6
+ metadata.gz: 5939468037e810437a1910ceb02b91e65f4d3e0bd7bc1399e9f79fa9b9fd93377ae60ecde9067446c75ed12be264e6007d8980504d522be6b68807f23ff83a31
7
+ data.tar.gz: 42a3021aa5229deac6fef388471fd5a8d21b789dde17b7cae6e479198f07adbf7b5db1b290b9c6f8282b24db03f61ac8211df8bd48db5e6b5dd27f535253f13e
@@ -0,0 +1,32 @@
1
+ # This workflow uses actions that are not certified by GitHub.
2
+ # They are provided by a third-party and are governed by
3
+ # separate terms of service, privacy policy, and support
4
+ # documentation.
5
+ # This workflow will download a prebuilt Ruby version, install dependencies and run tests with Rake
6
+ # For more information see: https://github.com/marketplace/actions/setup-ruby-jruby-and-truffleruby
7
+
8
+ name: CI
9
+
10
+ on:
11
+ push:
12
+ branches: [ master ]
13
+ pull_request:
14
+ branches: [ master ]
15
+
16
+ jobs:
17
+ test:
18
+
19
+ runs-on: ubuntu-latest
20
+ strategy:
21
+ matrix:
22
+ ruby-version: ['2.5', '2.6', '2.7', '3.0']
23
+
24
+ steps:
25
+ - uses: actions/checkout@v2
26
+ - name: Set up Ruby
27
+ uses: ruby/setup-ruby@v1
28
+ with:
29
+ ruby-version: ${{ matrix.ruby-version }}
30
+ bundler-cache: true
31
+ - name: Run tests
32
+ run: bundle exec rake
data/CHANGELOG.md CHANGED
@@ -1,5 +1,22 @@
1
1
  # CHANGELOG
2
2
 
3
+ ## 0.18.3 (2021-08-22)
4
+
5
+ * Update synvert-snippets url
6
+ * Deprecate synvert, use synvert-ruby instead
7
+
8
+ ## 0.18.2 (2021-08-12)
9
+
10
+ * Require `fileutils`
11
+
12
+ ## 0.18.1 (2021-07-23)
13
+
14
+ * Fix `affected_files` is Set
15
+
16
+ ## 0.18.0 (2021-07-14)
17
+
18
+ * Execute a snippet
19
+
3
20
  ## 0.17.0 (2021-04-19)
4
21
 
5
22
  * Run `git checkout .` before `git pull --rebase`
data/README.md CHANGED
@@ -1,6 +1,8 @@
1
1
  # Synvert
2
2
 
3
- [![Build Status](https://secure.travis-ci.org/xinminlabs/synvert.svg)](http://travis-ci.org/xinminlabs/synvert)
3
+ <img src="https://xinminlabs.github.io/synvert/img/logo_96.png" alt="logo" width="32" height="32" />
4
+
5
+ ![Main workflow](https://github.com/xinminlabs/synvert/actions/workflows/main.yml/badge.svg)
4
6
  [![Coverage Status](https://coveralls.io/repos/xinminlabs/synvert/badge.svg?branch=master)](https://coveralls.io/r/xinminlabs/synvert)
5
7
  [![Gem Version](https://badge.fury.io/rb/synvert.svg)](http://badge.fury.io/rb/synvert)
6
8
 
@@ -63,7 +65,7 @@ $ docker run -v <your project path>:/app xinminlabs/awesomecode-synvert synvert
63
65
 
64
66
  ## Documentation
65
67
 
66
- [http://xinminlabs.github.io/synvert/][3]
68
+ [https://xinminlabs.github.io/synvert/][3]
67
69
 
68
70
  ## Contributing
69
71
 
@@ -75,4 +77,4 @@ $ docker run -v <your project path>:/app xinminlabs/awesomecode-synvert synvert
75
77
 
76
78
  [1]: https://github.com/xinminlabs/synvert-core/
77
79
  [2]: https://github.com/xinminlabs/synvert-snippets/
78
- [3]: http://xinminlabs.github.io/synvert/
80
+ [3]: https://xinminlabs.github.io/synvert/
data/bin/synvert CHANGED
@@ -4,5 +4,7 @@
4
4
  $LOAD_PATH.unshift(File.expand_path('../lib', __dir__))
5
5
  require 'synvert'
6
6
 
7
+ puts "synvert is deprecated, use synvert-ruby instead."
8
+ puts
7
9
  result = Synvert::CLI.run
8
10
  exit(result ? 0 : 1)
data/bin/synvert-ruby ADDED
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ $LOAD_PATH.unshift(File.expand_path('../lib', __dir__))
5
+ require 'synvert'
6
+
7
+ result = Synvert::CLI.run
8
+ exit(result ? 0 : 1)
data/lib/synvert/cli.rb CHANGED
@@ -40,6 +40,8 @@ module Synvert
40
40
  sync_snippets
41
41
  when 'generate'
42
42
  generate_snippet
43
+ when 'execute'
44
+ execute_snippet
43
45
  else
44
46
  # run
45
47
  load_rewriters
@@ -94,6 +96,9 @@ module Synvert
94
96
  opts.on '--sync', 'sync snippets' do
95
97
  @options[:command] = 'sync'
96
98
  end
99
+ opts.on '--execute', 'execute snippet' do
100
+ @options[:command] = 'execute'
101
+ end
97
102
  opts.on '-r', '--run SNIPPET_NAME', 'run specified snippet, e.g. ruby/new_hash_syntax' do |snippet_name|
98
103
  @options[:snippet_name] = snippet_name
99
104
  end
@@ -141,7 +146,7 @@ module Synvert
141
146
  # List and print all available rewriters.
142
147
  def list_available_rewriters
143
148
  if Core::Rewriter.availables.empty?
144
- puts 'There is no snippet under ~/.synvert, please run `synvert --sync` to fetch snippets.'
149
+ puts 'There is no snippet under ~/.synvert-ruby, please run `synvert-ruby --sync` to fetch snippets.'
145
150
  return
146
151
  end
147
152
 
@@ -242,7 +247,29 @@ module Synvert
242
247
  group, name = snippet_name.split('/')
243
248
  rewriter = Core::Rewriter.call group, name
244
249
  output = {
245
- affected_files: rewriter.affected_files.union(rewriter.sub_snippets.sum([], &:affected_files)).to_a,
250
+ affected_files: rewriter.affected_files.union(rewriter.sub_snippets.sum(Set.new, &:affected_files)).to_a,
251
+ warnings: rewriter.warnings.union(rewriter.sub_snippets.sum([], &:warnings)),
252
+ todo: rewriter.todo
253
+ }
254
+ puts JSON.generate(output)
255
+ end
256
+ end
257
+
258
+ # execute snippet
259
+ def execute_snippet
260
+ input = STDIN.read
261
+ if plain_output?
262
+ puts '===== execute started ====='
263
+ rewriter = eval(input)
264
+ rewriter.warnings.each do |warning|
265
+ puts '[Warn] ' + warning.message
266
+ end
267
+ puts rewriter.todo if rewriter.todo
268
+ puts '===== execute done ====='
269
+ elsif json_output?
270
+ rewriter = eval(input)
271
+ output = {
272
+ affected_files: rewriter.affected_files.union(rewriter.sub_snippets.sum(Set.new, &:affected_files)).to_a,
246
273
  warnings: rewriter.warnings.union(rewriter.sub_snippets.sum([], &:warnings)),
247
274
  todo: rewriter.todo
248
275
  }
@@ -299,7 +326,7 @@ module Synvert
299
326
  end
300
327
 
301
328
  def default_snippets_home
302
- ENV['SYNVERT_SNIPPETS_HOME'] || File.join(ENV['HOME'], '.synvert')
329
+ ENV['SYNVERT_SNIPPETS_HOME'] || File.join(ENV['HOME'], '.synvert-ruby')
303
330
  end
304
331
 
305
332
  def plain_output?
@@ -2,6 +2,7 @@
2
2
 
3
3
  require 'open-uri'
4
4
  require 'json'
5
+ require 'fileutils'
5
6
 
6
7
  module Synvert
7
8
  # Manage synvert snippets.
@@ -21,7 +22,7 @@ module Synvert
21
22
  FileUtils.cd @snippets_path
22
23
  Kernel.system('git checkout .; git pull --rebase')
23
24
  else
24
- Kernel.system("git clone https://github.com/xinminlabs/synvert-snippets.git #{@snippets_path}")
25
+ Kernel.system("git clone https://github.com/xinminlabs/synvert-snippets-ruby.git #{@snippets_path}")
25
26
  end
26
27
  end
27
28
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Synvert
4
- VERSION = '0.17.0'
4
+ VERSION = '0.18.3'
5
5
  end
@@ -20,7 +20,7 @@ module Synvert
20
20
  describe 'sync' do
21
21
  it 'git clones snippets' do
22
22
  expect(Kernel).to receive(:system).with(
23
- "git clone https://github.com/xinminlabs/synvert-snippets.git #{snippets_path}"
23
+ "git clone https://github.com/xinminlabs/synvert-snippets-ruby.git #{snippets_path}"
24
24
  )
25
25
  snippet.sync
26
26
  end
data/synvert.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 --sync` first to sync snippets remotely.'
22
22
 
23
- spec.add_runtime_dependency 'synvert-core', '>= 0.25.1'
23
+ spec.add_runtime_dependency 'synvert-core', '>= 0.53.0'
24
24
 
25
25
  spec.add_development_dependency 'bundler'
26
26
  spec.add_development_dependency 'rake'
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: 0.17.0
4
+ version: 0.18.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Richard Huang
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-04-19 00:00:00.000000000 Z
11
+ date: 2021-08-22 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: 0.25.1
19
+ version: 0.53.0
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: 0.25.1
26
+ version: 0.53.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -85,18 +85,20 @@ email:
85
85
  - flyerhzm@gmail.com
86
86
  executables:
87
87
  - synvert
88
+ - synvert-ruby
88
89
  extensions: []
89
90
  extra_rdoc_files: []
90
91
  files:
92
+ - ".github/workflows/main.yml"
91
93
  - ".gitignore"
92
94
  - ".rspec"
93
- - ".travis.yml"
94
95
  - CHANGELOG.md
95
96
  - Gemfile
96
97
  - LICENSE.txt
97
98
  - README.md
98
99
  - Rakefile
99
100
  - bin/synvert
101
+ - bin/synvert-ruby
100
102
  - lib/synvert.rb
101
103
  - lib/synvert/cli.rb
102
104
  - lib/synvert/snippet.rb
@@ -123,7 +125,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
123
125
  - !ruby/object:Gem::Version
124
126
  version: '0'
125
127
  requirements: []
126
- rubygems_version: 3.1.4
128
+ rubygems_version: 3.2.22
127
129
  signing_key:
128
130
  specification_version: 4
129
131
  summary: synvert = syntax + convert.
data/.travis.yml DELETED
@@ -1,8 +0,0 @@
1
- language: ruby
2
- rvm:
3
- - 2.3
4
- - 2.4
5
- - 2.5
6
- - 2.6
7
- - 2.7
8
- - 3.0