synvert 0.5.3 → 0.11.1

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: a42d9821a0cadf0a178273ad48106b8352107f29
4
- data.tar.gz: 0b9005a3ad6c93016765948b9593d6b35119a798
2
+ SHA256:
3
+ metadata.gz: 4ffaa68ee9700864133744f9c3a3ad39424f955d934dc30a59e097865aaff915
4
+ data.tar.gz: 9f05b924aabfc116b108235b448114fb84cf35bf867e13d217da6210a736d0a2
5
5
  SHA512:
6
- metadata.gz: 1abba44772e6cb2ee3af4330b0b1b974acf6ed95d6a5df6f7995e2036302522a3c8440bd1c68d726aebc8a1aced997c77d608b70ada82a84e3de7c8b6faf0233
7
- data.tar.gz: af7a2a479daaf9cf65ac81a85f2c9c1bfe7ce11cc930622e02321d3946fc3082bb02eb46ebda4097ba4fe8cff4aaf06f1720967b5fed80c1159c83c30fdad5dc
6
+ metadata.gz: 4c1fb489d17c2588442a5b5f6c195d39b9001250f4a0228ee734171f94260265d552a5fa4690b2349a1f57a817086dc693b40b29d9556d3764b130b4f3247727
7
+ data.tar.gz: 2af58834be39f558a11dcc43f752a1949b478711a2f8026e301ddf45e817391bdf161e7b0d91239f2628a268ad48d3904f618c4de4dbfa587509d0e4cb0a4e36
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,5 +1,24 @@
1
1
  # CHANGELOG
2
2
 
3
+ ## 0.11.1 (2021-02-20)
4
+
5
+ * Use `Synvert::VERSION` instead of `Synvert::Core::VERSION`
6
+
7
+ ## 0.11.0 (2021-02-15)
8
+
9
+ * Add `--list-all` option
10
+ * Add post install message
11
+ * Fix `Synvert::Snippet.fetch_core_version`
12
+
13
+ ## 0.10.0 (2021-02-07)
14
+
15
+ * Use new `Core::Confiruation`
16
+ * Use require instead of eval in order to preserve normal Ruby semantics
17
+
18
+ ## 0.9.0
19
+
20
+ * Add `-o` or `--open` option` to open a snippet
21
+
3
22
  ## 0.5.3
4
23
 
5
24
  * Show warning message if rewriter not found
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 ====="
@@ -56,65 +68,80 @@ module Synvert
56
68
  false
57
69
  end
58
70
 
59
- private
71
+ private
60
72
 
61
73
  # Run OptionParser to parse arguments.
62
74
  def run_option_parser(args)
63
- optparse = OptionParser.new do |opts|
64
- opts.banner = "Usage: synvert [project_path]"
65
- opts.on '-d', '--load SNIPPET_PATHS', 'load custom snippets, snippet paths can be local file path or remote http url' do |snippet_paths|
66
- @options[:custom_snippet_paths] = snippet_paths.split(',').map(&:strip)
67
- end
68
- opts.on '-l', '--list', 'list all available snippets' do
69
- @options[:command] = 'list'
70
- end
71
- opts.on '-q', '--query QUERY', 'query specified snippets' do |query|
72
- @options[:command] = 'query'
73
- @options[:query] = query
74
- end
75
- 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|
76
- @options[:skip_file_patterns] = file_patterns.split(',')
77
- end
78
- 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|
79
- @options[:command] = 'show'
80
- @options[:snippet_name] = snippet_name
81
- end
82
- opts.on '--sync', 'sync snippets' do
83
- @options[:command] = 'sync'
84
- end
85
- 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|
86
- @options[:snippet_names] = snippet_names.split(',').map(&:strip)
87
- end
88
- opts.on '-v', '--version', 'show this version' do
89
- puts Core::VERSION
90
- 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 VERSION
117
+ exit
118
+ end
91
119
  end
92
- end
93
120
  paths = optparse.parse(args)
94
- Core::Configuration.instance.set :path, paths.first || Dir.pwd
121
+ Core::Configuration.path = paths.first || Dir.pwd
95
122
  if @options[:skip_file_patterns] && !@options[:skip_file_patterns].empty?
96
- skip_files = @options[:skip_file_patterns].map { |file_pattern|
97
- full_file_pattern = File.join(Core::Configuration.instance.get(:path), file_pattern)
98
- Dir.glob(full_file_pattern)
99
- }.flatten
100
- 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
101
129
  end
102
130
  end
103
131
 
104
132
  # Load all rewriters.
105
133
  def load_rewriters
106
- default_snippets_path = Core::Configuration.instance.get :default_snippets_path
107
- 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 }
108
135
 
109
136
  @options[:custom_snippet_paths].each do |snippet_path|
110
- if snippet_path =~ /^http/
137
+ if /^http/.match?(snippet_path)
111
138
  uri = URI.parse snippet_path
112
139
  eval(uri.read)
113
140
  else
114
- eval(File.read(snippet_path))
141
+ require snippet_path
115
142
  end
116
143
  end
117
- rescue
144
+ rescue StandardError
118
145
  FileUtils.rm_rf default_snippets_path
119
146
  retry
120
147
  end
@@ -122,30 +149,65 @@ module Synvert
122
149
  # List and print all available rewriters.
123
150
  def list_available_rewriters
124
151
  if Core::Rewriter.availables.empty?
125
- 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.'
126
153
  else
127
154
  Core::Rewriter.availables.each do |group, rewriters|
128
155
  puts group
129
- rewriters.each do |name, rewriter|
130
- puts " " + name
156
+ rewriters.each do |name, _rewriter|
157
+ puts ' ' + name
131
158
  end
132
159
  end
133
160
  puts
134
161
  end
135
162
  end
136
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
+
137
199
  # Query and print available rewriters.
138
200
  def query_available_rewriters
139
201
  Core::Rewriter.availables.each do |group, rewriters|
140
202
  if group.include? @options[:query]
141
203
  puts group
142
- rewriters.each do |name, rewriter|
143
- puts " " + name
204
+ rewriters.each do |name, _rewriter|
205
+ puts ' ' + name
144
206
  end
145
207
  elsif rewriters.keys.any? { |name| name.include? @options[:query] }
146
208
  puts group
147
- rewriters.each do |name, rewriter|
148
- puts " " + name if name.include?(@options[:query])
209
+ rewriters.each do |name, _rewriter|
210
+ puts ' ' + name if name.include?(@options[:query])
149
211
  end
150
212
  end
151
213
  end
@@ -161,9 +223,9 @@ module Synvert
161
223
  puts rewriter.description
162
224
  rewriter.sub_snippets.each do |sub_rewriter|
163
225
  puts
164
- puts "=" * 80
226
+ puts '=' * 80
165
227
  puts "snippet: #{sub_rewriter.name}"
166
- puts "=" * 80
228
+ puts '=' * 80
167
229
  puts sub_rewriter.description
168
230
  end
169
231
  else
@@ -173,12 +235,16 @@ module Synvert
173
235
 
174
236
  # sync snippets
175
237
  def sync_snippets
176
- Snippet.sync
177
- puts "synvert snippets are synced"
238
+ Snippet.new(default_snippets_path).sync
239
+ puts 'synvert snippets are synced'
178
240
  core_version = Snippet.fetch_core_version
179
241
  if Gem::Version.new(core_version) > Gem::Version.new(Synvert::Core::VERSION)
180
242
  puts "synvert-core is updated, please install synvert-core #{core_version}"
181
243
  end
182
244
  end
245
+
246
+ def default_snippets_path
247
+ File.join(ENV['HOME'], '.synvert')
248
+ end
183
249
  end
184
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.3"
4
+ VERSION = '0.11.1'
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.3"
23
+ spec.add_runtime_dependency 'synvert-core', '>= 0.20.1'
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.3
4
+ version: 0.11.1
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-09-01 00:00:00.000000000 Z
11
+ date: 2021-02-20 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.3
19
+ version: 0.20.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: 0.5.3
26
+ version: 0.20.1
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: