synvert 0.17.0 → 0.18.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: 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