codeshift 0.1.5 → 0.1.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +1 -1
- data/codeshift.gemspec +3 -3
- data/lib/codeshift.rb +2 -2
- data/lib/codeshift/cli.rb +12 -10
- data/lib/codeshift/{codeshift_options.rb → options.rb} +1 -1
- data/lib/codeshift/{codeshift_transformer.rb → transformer.rb} +6 -3
- data/lib/codeshift/version.rb +1 -1
- metadata +18 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9f430649116d145e81c33cf6f24de822c691e06e9b1fd37842f21b6fa15e0d61
|
4
|
+
data.tar.gz: 3648258f511c5e8e44c3414a26bc1df3f6c183d4f13c8f31187c15687d92473e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 456f51e77742c2a05e56b62c604d3c98c349ae798f5234dcf16df9683faba291f61bf93794beeb2d3417a35002372ae13b631f64b37758e925ea24daaae69962
|
7
|
+
data.tar.gz: b3eceb1ad6abd22e3c9c0f120edbf92a7e205be406ab55a7bde1ea58496ab2637e9eb379ef75c7230d5a2a0e82a85fb76a870f6e282492c354aed1863fb7f92d
|
data/.gitignore
CHANGED
data/codeshift.gemspec
CHANGED
@@ -13,11 +13,9 @@ Gem::Specification.new do |spec|
|
|
13
13
|
spec.homepage = "https://github.com/rajasegar/codeshift"
|
14
14
|
spec.license = "MIT"
|
15
15
|
|
16
|
-
#spec.metadata["allowed_push_host"] = "TODO: Set to 'http://mygemserver.com'"
|
17
16
|
|
18
17
|
spec.metadata["homepage_uri"] = spec.homepage
|
19
|
-
|
20
|
-
#spec.metadata["changelog_uri"] = "TODO: Put your gem's CHANGELOG.md URL here."
|
18
|
+
spec.metadata["source_code_uri"] = "https://github.com/rajasegar/codeshift"
|
21
19
|
|
22
20
|
# Specify which files should be added to the gem when it is released.
|
23
21
|
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
|
@@ -28,6 +26,8 @@ Gem::Specification.new do |spec|
|
|
28
26
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
29
27
|
spec.require_paths = ["lib"]
|
30
28
|
|
29
|
+
spec.add_runtime_dependency 'parser', '~> 2.6'
|
30
|
+
|
31
31
|
spec.add_development_dependency "bundler", "~> 2.0"
|
32
32
|
spec.add_development_dependency "rake", "~> 10.0"
|
33
33
|
spec.add_development_dependency "rspec", "~> 3.0"
|
data/lib/codeshift.rb
CHANGED
@@ -1,3 +1,3 @@
|
|
1
1
|
require "codeshift/version"
|
2
|
-
require "codeshift/
|
3
|
-
require "codeshift/
|
2
|
+
require "codeshift/options"
|
3
|
+
require "codeshift/transformer"
|
data/lib/codeshift/cli.rb
CHANGED
@@ -1,23 +1,25 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'optparse'
|
2
|
-
require 'codeshift/
|
3
|
-
require 'codeshift/
|
4
|
+
require 'codeshift/options'
|
5
|
+
require 'codeshift/transformer'
|
4
6
|
require 'codeshift/version'
|
5
7
|
require 'open-uri'
|
6
8
|
|
7
9
|
module CodeShift
|
10
|
+
# Cli Class
|
8
11
|
class CLI
|
9
12
|
def initialize
|
10
|
-
@options = Codeshift::
|
13
|
+
@options = Codeshift::Options.new
|
11
14
|
OptionParser.new do |opts|
|
12
|
-
opts.banner =
|
15
|
+
opts.banner = 'Usage: codeshift -t <transform-file> [path]'
|
13
16
|
|
14
|
-
opts.on(
|
17
|
+
opts.on('--version', 'Print version number') do
|
15
18
|
puts Codeshift::VERSION
|
16
19
|
exit
|
17
20
|
end
|
18
21
|
|
19
|
-
opts.on(
|
20
|
-
|
22
|
+
opts.on('-tTRANSFORM', '--transform=TRANSFORM', 'path to the transform file. Can be either a local path or url\n (default: ./transform.rb)') do |f|
|
21
23
|
@options.transform = f
|
22
24
|
end
|
23
25
|
|
@@ -33,13 +35,13 @@ module CodeShift
|
|
33
35
|
def process_file(file_path)
|
34
36
|
puts "Processing: #{file_path}"
|
35
37
|
code = File.read(file_path)
|
36
|
-
transform = open(@options.transform
|
37
|
-
output = Codeshift::
|
38
|
+
transform = open(@options.transform, '&:read')
|
39
|
+
output = Codeshift::Transformer.new(code, transform).transform
|
38
40
|
File.write(file_path, output)
|
39
41
|
end
|
40
42
|
|
41
43
|
def run
|
42
|
-
paths = @files
|
44
|
+
paths = @files.!empty? ? @files : []
|
43
45
|
paths.each do |path|
|
44
46
|
if File.directory?(path)
|
45
47
|
Dir.glob(path) do |file_path|
|
@@ -1,7 +1,10 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'parser/current'
|
2
4
|
|
3
5
|
module Codeshift
|
4
|
-
|
6
|
+
# Transformer Class
|
7
|
+
class Transformer
|
5
8
|
def initialize(code, transform)
|
6
9
|
@code = code
|
7
10
|
@transform = transform
|
@@ -13,10 +16,10 @@ module Codeshift
|
|
13
16
|
buffer = Parser::Source::Buffer.new('(example)')
|
14
17
|
buffer.source = @code
|
15
18
|
temp = Parser::CurrentRuby.parse(@code)
|
16
|
-
rewriter
|
19
|
+
rewriter = Transform.new
|
17
20
|
|
18
21
|
# Rewrite the AST, returns a String with the new form.
|
19
|
-
output =
|
22
|
+
output = rewriter.rewrite(buffer, temp)
|
20
23
|
|
21
24
|
end
|
22
25
|
end
|
data/lib/codeshift/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: codeshift
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Rajasegar Chandran
|
@@ -10,6 +10,20 @@ bindir: exe
|
|
10
10
|
cert_chain: []
|
11
11
|
date: 2019-09-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: parser
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '2.6'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '2.6'
|
13
27
|
- !ruby/object:Gem::Dependency
|
14
28
|
name: bundler
|
15
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -76,14 +90,15 @@ files:
|
|
76
90
|
- exe/codeshift
|
77
91
|
- lib/codeshift.rb
|
78
92
|
- lib/codeshift/cli.rb
|
79
|
-
- lib/codeshift/
|
80
|
-
- lib/codeshift/
|
93
|
+
- lib/codeshift/options.rb
|
94
|
+
- lib/codeshift/transformer.rb
|
81
95
|
- lib/codeshift/version.rb
|
82
96
|
homepage: https://github.com/rajasegar/codeshift
|
83
97
|
licenses:
|
84
98
|
- MIT
|
85
99
|
metadata:
|
86
100
|
homepage_uri: https://github.com/rajasegar/codeshift
|
101
|
+
source_code_uri: https://github.com/rajasegar/codeshift
|
87
102
|
post_install_message:
|
88
103
|
rdoc_options: []
|
89
104
|
require_paths:
|