synvert 0.5.0 → 0.11.0

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
- SHA1:
3
- metadata.gz: ad8467c3b26e89499b67e13b5c4441a5b9d20a69
4
- data.tar.gz: 701ad231cea1d52fc69827ced8610bcb7a07ebce
2
+ SHA256:
3
+ metadata.gz: 1a6497202b00d143ebee65b85a45fb0fa0e1130d44984955f817799c16376424
4
+ data.tar.gz: e0befd502bd9414ef93ad6368044983a5f5d9a677a86d2ff63de637ab1740ece
5
5
  SHA512:
6
- metadata.gz: ec940d0d793d9df5183fd06a670ecd545b229db7cd69cd698120172d4d304cd5a321edb71b9693bcb021596571b8633377751898972c0fc27f65b652a50e728d
7
- data.tar.gz: 1a3c11744001240a5545aeb77c7ad4cee4d1e82c3c6913b2d5dcb8dd256816743d36f3ae30139b6e2515d8e7c8f65ad87a4147d4863a6f4a464f3916ca5f81a0
6
+ metadata.gz: cfa2c293ba1330dcccb3cd2ee43bd1ac47d45a8e0ce011615fcef575842405f27fec6b070061d6567461046a2d7c445ee0440b903baca3ca3c2c47bd00399577
7
+ data.tar.gz: 79d690b0576dc8083bfc451003ef50d8f3ab968908b774a10f6613a77172751979d93b9746b0e80617998ca0efc84a29ec4b5a61af907b17835c07af440dceaf
data/.travis.yml CHANGED
@@ -1,5 +1,8 @@
1
1
  language: ruby
2
2
  rvm:
3
- - 1.9.3
4
- - 2.0.0
5
- - 2.1.1
3
+ - 2.3
4
+ - 2.4
5
+ - 2.5
6
+ - 2.6
7
+ - 2.7
8
+ - 3.0
data/CHANGELOG.md CHANGED
@@ -1,8 +1,27 @@
1
1
  # CHANGELOG
2
2
 
3
+ ## 0.11.0 (2021-02-15)
4
+
5
+ * Add `--list-all` option
6
+ * Add post install message
7
+ * Fix `Synvert::Snippet.fetch_core_version`
8
+
9
+ ## 0.10.0 (2021-02-07)
10
+
11
+ * Use new `Core::Confiruation`
12
+ * Use require instead of eval in order to preserve normal Ruby semantics
13
+
14
+ ## 0.9.0
15
+
16
+ * Add `-o` or `--open` option` to open a snippet
17
+
18
+ ## 0.5.3
19
+
20
+ * Show warning message if rewriter not found
21
+
3
22
  ## 0.5.0
4
23
 
5
- * rewrite cli for rewriter group
24
+ * Rewrite cli for rewriter group
6
25
 
7
26
  ## 0.4.2
8
27
 
data/Gemfile CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  source 'https://rubygems.org'
2
4
 
3
5
  # Specify your gem's dependencies in synvert.gemspec
data/README.md CHANGED
@@ -1,17 +1,18 @@
1
1
  # Synvert
2
2
 
3
- [![Build Status](https://secure.travis-ci.org/xinminlabs/synvert.png)](http://travis-ci.org/xinminlabs/synvert)
4
- [![Coverage Status](https://coveralls.io/repos/xinminlabs/synvert/badge.png?branch=master)](https://coveralls.io/r/xinminlabs/synvert)
5
- [![Gem Version](https://badge.fury.io/rb/synvert.png)](http://badge.fury.io/rb/synvert)
3
+ [![Build Status](https://secure.travis-ci.org/xinminlabs/synvert.svg)](http://travis-ci.org/xinminlabs/synvert)
4
+ [![Coverage Status](https://coveralls.io/repos/xinminlabs/synvert/badge.svg?branch=master)](https://coveralls.io/r/xinminlabs/synvert)
5
+ [![Gem Version](https://badge.fury.io/rb/synvert.svg)](http://badge.fury.io/rb/synvert)
6
6
 
7
7
  Synvert = syntax + convert, makes it easy to convert ruby code
8
8
  automatically.
9
9
 
10
- Synvert is tested against MRI 1.9.3, 2.0.0 and 2.1.1.
10
+ Synvert is tested against MRI 1.9.3, 2.0.0, 2.1.7 and 2.2.3.
11
11
 
12
12
  Synvert is composed by synvert-core and synvert-snippets.
13
13
 
14
14
  [synvert-core][1] provides a dsl to convert ruby code.
15
+
15
16
  [synvert-snippets][2] lists all snippets to convert ruby code based on
16
17
  synvert-core.
17
18
 
@@ -45,7 +46,7 @@ $ synvert --sync
45
46
  ```
46
47
 
47
48
  ```
48
- $ synvert -r factory_girl_short_syntax,upgrade_rails_3_2_to_4_0 ~/Sites/railsbp/rails-bestpractices.com
49
+ $ synvert -r factory_girl/use_short_syntax,rails/upgrade_3_2_to_4_0 ~/Sites/railsbp/rails-bestpractices.com
49
50
  ```
50
51
 
51
52
  ## Documentation
data/Rakefile CHANGED
@@ -1,4 +1,6 @@
1
- require "bundler/gem_tasks"
1
+ # frozen_string_literal: true
2
+
3
+ require 'bundler/gem_tasks'
2
4
  require 'rspec/core/rake_task'
3
5
 
4
6
  RSpec::Core::RakeTask.new(:spec)
data/bin/synvert CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env ruby
2
- # coding: utf-8
2
+ # frozen_string_literal: true
3
3
 
4
- $LOAD_PATH.unshift(File.expand_path('../../lib', __FILE__))
4
+ $LOAD_PATH.unshift(File.expand_path('../lib', __dir__))
5
5
  require 'synvert'
6
6
 
7
7
  result = Synvert::CLI.run
data/lib/synvert.rb CHANGED
@@ -1,5 +1,6 @@
1
- # coding: utf-8
2
- require "synvert/version"
1
+ # frozen_string_literal: true
2
+
3
+ require 'synvert/version'
3
4
  require 'bundler'
4
5
  require 'synvert/core'
5
6
 
data/lib/synvert/cli.rb CHANGED
@@ -1,4 +1,5 @@
1
- # coding: utf-8
1
+ # frozen_string_literal: true
2
+
2
3
  require 'optparse'
3
4
 
4
5
  module Synvert
@@ -14,9 +15,7 @@ module Synvert
14
15
 
15
16
  # Initialize a CLI.
16
17
  def initialize
17
- @options = {command: 'run', custom_snippet_paths: [], snippet_names: []}
18
- Core::Configuration.instance.set :skip_files, []
19
- Core::Configuration.instance.set :default_snippets_path, File.join(ENV['HOME'], '.synvert')
18
+ @options = { command: 'run', custom_snippet_paths: [], snippet_names: [] }
20
19
  end
21
20
 
22
21
  # Run the CLI.
@@ -24,20 +23,33 @@ module Synvert
24
23
  # @return [Boolean] true if command runs successfully.
25
24
  def run(args)
26
25
  run_option_parser(args)
27
- load_rewriters
28
26
 
29
27
  case @options[:command]
30
- when 'list' then list_available_rewriters
31
- when 'query' then query_available_rewriters
32
- when 'show' then show_rewriter
33
- when 'sync' then sync_snippets
28
+ when 'list'
29
+ load_rewriters
30
+ list_available_rewriters
31
+ when 'list-all'
32
+ load_rewriters
33
+ list_all_rewriters_in_json
34
+ when 'open'
35
+ open_rewriter
36
+ when 'query'
37
+ load_rewriters
38
+ query_available_rewriters
39
+ when 'show'
40
+ load_rewriters
41
+ show_rewriter
42
+ when 'sync'
43
+ sync_snippets
34
44
  else
45
+ # run
46
+ load_rewriters
35
47
  @options[:snippet_names].each do |snippet_name|
36
48
  puts "===== #{snippet_name} started ====="
37
49
  group, name = snippet_name.split('/')
38
50
  rewriter = Core::Rewriter.call group, name
39
51
  rewriter.warnings.each do |warning|
40
- puts "[Warn] " + warning.message
52
+ puts '[Warn] ' + warning.message
41
53
  end
42
54
  puts rewriter.todo if rewriter.todo
43
55
  puts "===== #{snippet_name} done ====="
@@ -51,67 +63,85 @@ module Synvert
51
63
  puts "file #{e.diagnostic.location.source_buffer.name}"
52
64
  puts "line #{e.diagnostic.location.line}"
53
65
  false
66
+ rescue Synvert::Core::RewriterNotFound => e
67
+ puts e.message
68
+ false
54
69
  end
55
70
 
56
- private
71
+ private
57
72
 
58
73
  # Run OptionParser to parse arguments.
59
74
  def run_option_parser(args)
60
- optparse = OptionParser.new do |opts|
61
- opts.banner = "Usage: synvert [project_path]"
62
- opts.on '-d', '--load SNIPPET_PATHS', 'load custom snippets, snippet paths can be local file path or remote http url' do |snippet_paths|
63
- @options[:custom_snippet_paths] = snippet_paths.split(',').map(&:strip)
64
- end
65
- opts.on '-l', '--list', 'list all available snippets' do
66
- @options[:command] = 'list'
67
- end
68
- opts.on '-q', '--query QUERY', 'query specified snippets' do |query|
69
- @options[:command] = 'query'
70
- @options[:query] = query
71
- end
72
- opts.on '--skip FILE_PATTERNS', 'skip specified files or directories, separated by comma, e.g. app/models/post.rb,vendor/plugins/**/*.rb' do |file_patterns|
73
- @options[:skip_file_patterns] = file_patterns.split(',')
74
- end
75
- opts.on '-s', '--show SNIPPET_NAME', 'show specified snippet description, SNIPPET_NAME is combined by group and name, e.g. ruby/new_hash_syntax' do |snippet_name|
76
- @options[:command] = 'show'
77
- @options[:snippet_name] = snippet_name
78
- end
79
- opts.on '--sync', 'sync snippets' do
80
- @options[:command] = 'sync'
81
- end
82
- opts.on '-r', '--run SNIPPET_NAMES', 'run specified snippets, each SNIPPET_NAME is combined by group and name, e.g. ruby/new_hash_syntax,ruby/new_lambda_syntax' do |snippet_names|
83
- @options[:snippet_names] = snippet_names.split(',').map(&:strip)
84
- end
85
- opts.on '-v', '--version', 'show this version' do
86
- puts Core::VERSION
87
- exit
75
+ optparse =
76
+ OptionParser.new do |opts|
77
+ opts.banner = 'Usage: synvert [project_path]'
78
+ opts.on '-d',
79
+ '--load SNIPPET_PATHS',
80
+ 'load custom snippets, snippet paths can be local file path or remote http url' do |snippet_paths|
81
+ @options[:custom_snippet_paths] = snippet_paths.split(',').map(&:strip)
82
+ end
83
+ opts.on '--list-all', 'list all available snippets name and description in json format' do
84
+ @options[:command] = 'list-all'
85
+ end
86
+ opts.on '-l', '--list', 'list all available snippets' do
87
+ @options[:command] = 'list'
88
+ end
89
+ opts.on '-o', '--open SNIPPET_NAME', 'Open a snippet' do |snippet_name|
90
+ @options[:command] = 'open'
91
+ @options[:snippet_name] = snippet_name
92
+ end
93
+ opts.on '-q', '--query QUERY', 'query specified snippets' do |query|
94
+ @options[:command] = 'query'
95
+ @options[:query] = query
96
+ end
97
+ opts.on '--skip FILE_PATTERNS',
98
+ 'skip specified files or directories, separated by comma, e.g. app/models/post.rb,vendor/plugins/**/*.rb' do |file_patterns|
99
+ @options[:skip_file_patterns] = file_patterns.split(',')
100
+ end
101
+ opts.on '-s',
102
+ '--show SNIPPET_NAME',
103
+ 'show specified snippet description, SNIPPET_NAME is combined by group and name, e.g. ruby/new_hash_syntax' do |snippet_name|
104
+ @options[:command] = 'show'
105
+ @options[:snippet_name] = snippet_name
106
+ end
107
+ opts.on '--sync', 'sync snippets' do
108
+ @options[:command] = 'sync'
109
+ end
110
+ opts.on '-r',
111
+ '--run SNIPPET_NAMES',
112
+ 'run specified snippets, each SNIPPET_NAME is combined by group and name, e.g. ruby/new_hash_syntax,ruby/new_lambda_syntax' do |snippet_names|
113
+ @options[:snippet_names] = snippet_names.split(',').map(&:strip)
114
+ end
115
+ opts.on '-v', '--version', 'show this version' do
116
+ puts Core::VERSION
117
+ exit
118
+ end
88
119
  end
89
- end
90
120
  paths = optparse.parse(args)
91
- Core::Configuration.instance.set :path, paths.first || Dir.pwd
121
+ Core::Configuration.path = paths.first || Dir.pwd
92
122
  if @options[:skip_file_patterns] && !@options[:skip_file_patterns].empty?
93
- skip_files = @options[:skip_file_patterns].map { |file_pattern|
94
- full_file_pattern = File.join(Core::Configuration.instance.get(:path), file_pattern)
95
- Dir.glob(full_file_pattern)
96
- }.flatten
97
- Core::Configuration.instance.set :skip_files, skip_files
123
+ skip_files =
124
+ @options[:skip_file_patterns].map do |file_pattern|
125
+ full_file_pattern = File.join(Core::Configuration.path, file_pattern)
126
+ Dir.glob(full_file_pattern)
127
+ end.flatten
128
+ Core::Configuration.skip_files = skip_files
98
129
  end
99
130
  end
100
131
 
101
132
  # Load all rewriters.
102
133
  def load_rewriters
103
- default_snippets_path = Core::Configuration.instance.get :default_snippets_path
104
- Dir.glob(File.join(default_snippets_path, 'lib/**/*.rb')).each { |file| eval(File.read(file)) }
134
+ Dir.glob(File.join(default_snippets_path, 'lib/**/*.rb')).each { |file| require file }
105
135
 
106
136
  @options[:custom_snippet_paths].each do |snippet_path|
107
- if snippet_path =~ /^http/
137
+ if /^http/.match?(snippet_path)
108
138
  uri = URI.parse snippet_path
109
139
  eval(uri.read)
110
140
  else
111
- eval(File.read(snippet_path))
141
+ require snippet_path
112
142
  end
113
143
  end
114
- rescue
144
+ rescue StandardError
115
145
  FileUtils.rm_rf default_snippets_path
116
146
  retry
117
147
  end
@@ -119,30 +149,65 @@ module Synvert
119
149
  # List and print all available rewriters.
120
150
  def list_available_rewriters
121
151
  if Core::Rewriter.availables.empty?
122
- puts "There is no snippet under ~/.synvert, please run `synvert --sync` to fetch snippets."
152
+ puts 'There is no snippet under ~/.synvert, please run `synvert --sync` to fetch snippets.'
123
153
  else
124
154
  Core::Rewriter.availables.each do |group, rewriters|
125
155
  puts group
126
- rewriters.each do |name, rewriter|
127
- puts " " + name
156
+ rewriters.each do |name, _rewriter|
157
+ puts ' ' + name
128
158
  end
129
159
  end
130
160
  puts
131
161
  end
132
162
  end
133
163
 
164
+ def list_all_rewriters_in_json
165
+ if Core::Rewriter.availables.empty?
166
+ puts 'There is no snippet under ~/.synvert, please run `synvert --sync` to fetch snippets.'
167
+ return
168
+ end
169
+
170
+ output = []
171
+ Core::Rewriter.availables.each do |group, rewriters|
172
+ rewriters.each do |name, rewriter|
173
+ rewriter.process_with_sandbox
174
+ output << {
175
+ group: group,
176
+ name: name,
177
+ description: rewriter.description,
178
+ sub_snippets: rewriter.sub_snippets.map(&:name)
179
+ }
180
+ end
181
+ end
182
+
183
+ puts JSON.generate(output)
184
+ end
185
+
186
+ # Open one rewriter.
187
+ def open_rewriter
188
+ editor = [ENV['SYNVERT_EDITOR'], ENV['EDITOR']].find { |e| !e.nil? && !e.empty? }
189
+ return puts 'To open a synvert snippet, set $EDITOR or $SYNVERT_EDITOR' unless editor
190
+
191
+ path = File.expand_path(File.join(default_snippets_path, "lib/#{@options[:snippet_name]}.rb"))
192
+ if File.exist? path
193
+ system editor, path
194
+ else
195
+ puts "Can't run #{editor} #{path}"
196
+ end
197
+ end
198
+
134
199
  # Query and print available rewriters.
135
200
  def query_available_rewriters
136
201
  Core::Rewriter.availables.each do |group, rewriters|
137
202
  if group.include? @options[:query]
138
203
  puts group
139
- rewriters.each do |name, rewriter|
140
- puts " " + name
204
+ rewriters.each do |name, _rewriter|
205
+ puts ' ' + name
141
206
  end
142
207
  elsif rewriters.keys.any? { |name| name.include? @options[:query] }
143
208
  puts group
144
- rewriters.each do |name, rewriter|
145
- puts " " + name if name.include?(@options[:query])
209
+ rewriters.each do |name, _rewriter|
210
+ puts ' ' + name if name.include?(@options[:query])
146
211
  end
147
212
  end
148
213
  end
@@ -158,9 +223,9 @@ module Synvert
158
223
  puts rewriter.description
159
224
  rewriter.sub_snippets.each do |sub_rewriter|
160
225
  puts
161
- puts "=" * 80
226
+ puts '=' * 80
162
227
  puts "snippet: #{sub_rewriter.name}"
163
- puts "=" * 80
228
+ puts '=' * 80
164
229
  puts sub_rewriter.description
165
230
  end
166
231
  else
@@ -170,12 +235,16 @@ module Synvert
170
235
 
171
236
  # sync snippets
172
237
  def sync_snippets
173
- Snippet.sync
174
- puts "synvert snippets are synced"
238
+ Snippet.new(default_snippets_path).sync
239
+ puts 'synvert snippets are synced'
175
240
  core_version = Snippet.fetch_core_version
176
241
  if Gem::Version.new(core_version) > Gem::Version.new(Synvert::Core::VERSION)
177
242
  puts "synvert-core is updated, please install synvert-core #{core_version}"
178
243
  end
179
244
  end
245
+
246
+ def default_snippets_path
247
+ File.join(ENV['HOME'], '.synvert')
248
+ end
180
249
  end
181
250
  end
@@ -1,24 +1,28 @@
1
- # coding: utf-8
1
+ # frozen_string_literal: true
2
+
2
3
  require 'open-uri'
3
4
  require 'json'
4
5
 
5
6
  module Synvert
6
7
  # Manage synvert snippets.
7
8
  class Snippet
9
+ def self.fetch_core_version
10
+ content = URI.open('https://rubygems.org/api/v1/versions/synvert-core.json').read
11
+ JSON.parse(content).first['number']
12
+ end
13
+
14
+ def initialize(snippets_path)
15
+ @snippets_path = snippets_path
16
+ end
17
+
8
18
  # synchronize snippets from github.
9
- def self.sync
10
- snippets_path = Core::Configuration.instance.get :default_snippets_path
11
- if File.exist?(snippets_path)
12
- FileUtils.cd snippets_path
13
- system("git pull --rebase")
19
+ def sync
20
+ if File.exist?(@snippets_path)
21
+ FileUtils.cd @snippets_path
22
+ Kernel.system('git pull --rebase')
14
23
  else
15
- system("git clone https://github.com/xinminlabs/synvert-snippets.git #{snippets_path}")
24
+ Kernel.system("git clone https://github.com/xinminlabs/synvert-snippets.git #{@snippets_path}")
16
25
  end
17
26
  end
18
-
19
- def self.fetch_core_version
20
- content = open("https://rubygems.org/api/v1/versions/synvert-core.json").read
21
- JSON.parse(content).first["number"]
22
- end
23
27
  end
24
28
  end
@@ -1,5 +1,5 @@
1
- # coding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  module Synvert
4
- VERSION = "0.5.0"
4
+ VERSION = '0.11.0'
5
5
  end
data/spec/spec_helper.rb CHANGED
@@ -1,4 +1,6 @@
1
- $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), "..", "lib"))
1
+ # frozen_string_literal: true
2
+
3
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
2
4
 
3
5
  require 'synvert'
4
6
  require 'webmock/rspec'
@@ -1,29 +1,35 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  module Synvert
4
6
  describe Snippet do
5
- describe "sync" do
6
- let(:default_snippets_path) { File.join(File.dirname(__FILE__), '.synvert') }
7
- before { Core::Configuration.instance.set :default_snippets_path, default_snippets_path }
8
- after { FileUtils.rm_rf default_snippets_path }
7
+ let(:snippets_path) { File.join(File.dirname(__FILE__), '.synvert') }
8
+ let(:snippet) { Snippet.new(snippets_path) }
9
+ after { FileUtils.rmdir(snippets_path) if File.exist?(snippets_path) }
9
10
 
11
+ describe 'sync' do
10
12
  it 'git clones snippets' do
11
- expect(Snippet).to receive(:system).with("git clone https://github.com/xinminlabs/synvert-snippets.git #{default_snippets_path}")
12
- Snippet.sync
13
+ expect(Kernel).to receive(:system).with(
14
+ "git clone https://github.com/xinminlabs/synvert-snippets.git #{snippets_path}"
15
+ )
16
+ snippet.sync
13
17
  end
14
18
 
15
19
  it 'git pull snippets' do
16
- FileUtils.mkdir default_snippets_path
17
- expect(Snippet).to receive(:system).with("git pull --rebase")
18
- Snippet.sync
20
+ FileUtils.mkdir snippets_path
21
+ expect(Kernel).to receive(:system).with('git pull --rebase')
22
+ snippet.sync
23
+ FileUtils.cd File.dirname(__FILE__)
19
24
  end
20
25
  end
21
26
 
22
- describe "fetch_core_version" do
27
+ describe 'fetch_core_version' do
23
28
  it 'gets remote version' do
24
- stub_request(:get, "https://rubygems.org/api/v1/versions/synvert-core.json").
25
- to_return(:body => '[{"number":"0.4.2"}]')
26
- expect(Snippet.fetch_core_version).to eq "0.4.2"
29
+ stub_request(:get, 'https://rubygems.org/api/v1/versions/synvert-core.json').to_return(
30
+ body: '[{"number":"0.4.2"}]'
31
+ )
32
+ expect(snippet.fetch_core_version).to eq '0.4.2'
27
33
  end
28
34
  end
29
35
  end
data/synvert.gemspec CHANGED
@@ -1,27 +1,29 @@
1
- # coding: utf-8
2
- lib = File.expand_path('../lib', __FILE__)
1
+ # frozen_string_literal: true
2
+
3
+ lib = File.expand_path('lib', __dir__)
3
4
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
5
  require 'synvert/version'
5
6
 
6
7
  Gem::Specification.new do |spec|
7
- spec.name = "synvert"
8
+ spec.name = 'synvert'
8
9
  spec.version = Synvert::VERSION
9
- spec.authors = ["Richard Huang"]
10
- spec.email = ["flyerhzm@gmail.com"]
11
- spec.description = %q{synvert is used to convert ruby code to better syntax.}
12
- spec.summary = %q{synvert = syntax + convert.}
13
- spec.homepage = "https://github.com/xinminlabs/synvert"
14
- spec.license = "MIT"
10
+ spec.authors = ['Richard Huang']
11
+ spec.email = ['flyerhzm@gmail.com']
12
+ spec.description = 'synvert is used to convert ruby code to better syntax.'
13
+ spec.summary = 'synvert = syntax + convert.'
14
+ spec.homepage = 'https://github.com/xinminlabs/synvert'
15
+ spec.license = 'MIT'
15
16
 
16
17
  spec.files = `git ls-files`.split($/)
17
18
  spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
19
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
- spec.require_paths = ["lib"]
20
+ spec.require_paths = ['lib']
21
+ spec.post_install_message = 'Please run `synvert --sync` first to sync snippets remotely.'
20
22
 
21
- spec.add_runtime_dependency "synvert-core", ">= 0.5.0"
23
+ spec.add_runtime_dependency 'synvert-core', '>= 0.20.0'
22
24
 
23
- spec.add_development_dependency "bundler", "~> 1.3"
24
- spec.add_development_dependency "rake"
25
- spec.add_development_dependency "rspec"
26
- spec.add_development_dependency "webmock"
25
+ spec.add_development_dependency 'bundler'
26
+ spec.add_development_dependency 'rake'
27
+ spec.add_development_dependency 'rspec'
28
+ spec.add_development_dependency 'webmock'
27
29
  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: 0.5.0
4
+ version: 0.11.0
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: 2014-08-21 00:00:00.000000000 Z
11
+ date: 2021-02-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: synvert-core
@@ -16,28 +16,28 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 0.5.0
19
+ version: 0.20.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.5.0
26
+ version: 0.20.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: '1.3'
33
+ version: '0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - "~>"
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
- version: '1.3'
40
+ version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rake
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -108,7 +108,7 @@ homepage: https://github.com/xinminlabs/synvert
108
108
  licenses:
109
109
  - MIT
110
110
  metadata: {}
111
- post_install_message:
111
+ post_install_message: Please run `synvert --sync` first to sync snippets remotely.
112
112
  rdoc_options: []
113
113
  require_paths:
114
114
  - lib
@@ -123,9 +123,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
123
123
  - !ruby/object:Gem::Version
124
124
  version: '0'
125
125
  requirements: []
126
- rubyforge_project:
127
- rubygems_version: 2.2.2
128
- signing_key:
126
+ rubygems_version: 3.1.4
127
+ signing_key:
129
128
  specification_version: 4
130
129
  summary: synvert = syntax + convert.
131
130
  test_files: