recode 0.1.2 → 0.1.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 +4 -4
- data/bin/recode +2 -2
- data/lib/recode/change_variations.rb +1 -1
- data/lib/recode/cli.rb +2 -3
- data/lib/recode/command.rb +17 -19
- data/lib/recode/diffing.rb +1 -2
- data/lib/recode/exceptions.rb +1 -1
- data/lib/recode/handler/apply.rb +1 -1
- data/lib/recode/handler/base.rb +5 -5
- data/lib/recode/handler/output.rb +1 -1
- data/lib/recode/handler/prompt.rb +10 -11
- data/lib/recode/refinements.rb +6 -6
- data/lib/recode/runner.rb +7 -6
- data/lib/recode/version.rb +2 -2
- metadata +23 -16
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2128ff9e04d8cfb769e6d86a37cd9f86f641f279f9ac252cb87a3b595f293fa6
|
4
|
+
data.tar.gz: 91f57f66757d7b0d1831620e3c1537c2a49c5b36fafad37c97c371a19e846c60
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 297830b73fd0a5260decd1f710e2bec7cb304f5a4be44faf0c938903274088b2805c20d0c847d04598959e5149eeb0f13a4b06eb1fb9f9e51b765a262682cd6d
|
7
|
+
data.tar.gz: e69e6f88d4c0468d9daf8f5534bc7533ea4de9d16965e08275e133da3a22da42af8165e8ce50ae26646fac5f04a66dd8cb35e58ce5d0ac3a7bf765b25d433c21
|
data/bin/recode
CHANGED
data/lib/recode/cli.rb
CHANGED
@@ -1,13 +1,12 @@
|
|
1
1
|
require 'mister_bin'
|
2
2
|
require 'recode'
|
3
3
|
require 'recode/command'
|
4
|
+
require 'recode/version'
|
4
5
|
|
5
6
|
module Recode
|
6
7
|
class CLI
|
7
8
|
def self.router
|
8
|
-
|
9
|
-
router.route_all to: Command
|
10
|
-
router
|
9
|
+
MisterBin::Runner.new version: VERSION, handler: Command
|
11
10
|
end
|
12
11
|
end
|
13
12
|
end
|
data/lib/recode/command.rb
CHANGED
@@ -1,26 +1,26 @@
|
|
1
1
|
module Recode
|
2
2
|
class Command < MisterBin::Command
|
3
|
-
help
|
3
|
+
help 'Code Refactoring Utility'
|
4
4
|
|
5
|
-
usage
|
6
|
-
usage
|
5
|
+
usage 'recode OLD [to] NEW [in] EXTENSIONS... [options]'
|
6
|
+
usage 'recode (-h|--help)'
|
7
7
|
|
8
|
-
option
|
9
|
-
option
|
8
|
+
option '-a --apply', 'Apply changes'
|
9
|
+
option '-p --prompt', 'Apply changes interactively '
|
10
10
|
|
11
|
-
param
|
12
|
-
param
|
13
|
-
param
|
11
|
+
param 'OLD', 'Old string, singular and capitalized'
|
12
|
+
param 'NEW', 'New string, singular and capitalized'
|
13
|
+
param 'EXTENSIONS', 'Space delimited file extensions'
|
14
14
|
|
15
|
-
example
|
16
|
-
example
|
17
|
-
example
|
18
|
-
example
|
15
|
+
example 'recode Member User rb'
|
16
|
+
example 'recode Member to User in rb js'
|
17
|
+
example 'recode Member to User in rb js --apply'
|
18
|
+
example 'recode Member to User in rb js -p'
|
19
19
|
|
20
20
|
def run
|
21
|
-
runner = Runner.new path: path,
|
22
|
-
extensions: extensions,
|
23
|
-
old_string: old_string,
|
21
|
+
runner = Runner.new path: path,
|
22
|
+
extensions: extensions,
|
23
|
+
old_string: old_string,
|
24
24
|
new_string: new_string
|
25
25
|
|
26
26
|
runner.execute handler
|
@@ -39,9 +39,9 @@ module Recode
|
|
39
39
|
end
|
40
40
|
|
41
41
|
def path
|
42
|
-
|
42
|
+
'.'
|
43
43
|
end
|
44
|
-
|
44
|
+
|
45
45
|
def extensions
|
46
46
|
args['EXTENSIONS']
|
47
47
|
end
|
@@ -53,7 +53,5 @@ module Recode
|
|
53
53
|
def new_string
|
54
54
|
args['NEW']
|
55
55
|
end
|
56
|
-
|
57
|
-
|
58
56
|
end
|
59
57
|
end
|
data/lib/recode/diffing.rb
CHANGED
data/lib/recode/exceptions.rb
CHANGED
data/lib/recode/handler/apply.rb
CHANGED
data/lib/recode/handler/base.rb
CHANGED
@@ -5,14 +5,14 @@ module Recode
|
|
5
5
|
include Colsole
|
6
6
|
|
7
7
|
def show_rename(source:, target:)
|
8
|
-
say "\
|
9
|
-
say
|
8
|
+
say "\nm`#{'_' * terminal_width}`"
|
9
|
+
say 'm`rename:`'
|
10
10
|
puts diff source, target
|
11
11
|
end
|
12
12
|
|
13
13
|
def show_edit(file:, before:, after:)
|
14
|
-
say "\
|
15
|
-
say "
|
14
|
+
say "\nb`#{'_' * terminal_width}`"
|
15
|
+
say "b`edit: #{file}`"
|
16
16
|
puts diff before, after
|
17
17
|
end
|
18
18
|
|
@@ -26,4 +26,4 @@ module Recode
|
|
26
26
|
end
|
27
27
|
end
|
28
28
|
end
|
29
|
-
end
|
29
|
+
end
|
@@ -12,25 +12,24 @@ module Recode
|
|
12
12
|
super
|
13
13
|
save_file file, after if apply?
|
14
14
|
end
|
15
|
-
|
15
|
+
|
16
16
|
private
|
17
17
|
|
18
18
|
def apply?
|
19
|
-
say "\nApply?
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
say
|
19
|
+
say "\nApply? gu`Y`es, gu`n`o, gu`q`uit : "
|
20
|
+
|
21
|
+
case $stdin.getch.downcase
|
22
|
+
when 'q', "\u0003"
|
23
|
+
say 'b`Quit`'
|
24
24
|
raise Recode::Abort
|
25
|
-
|
26
|
-
say
|
25
|
+
when 'n'
|
26
|
+
say 'r`No`'
|
27
27
|
false
|
28
28
|
else
|
29
|
-
say
|
29
|
+
say 'g`Yes`'
|
30
30
|
true
|
31
31
|
end
|
32
32
|
end
|
33
|
-
|
34
33
|
end
|
35
34
|
end
|
36
|
-
end
|
35
|
+
end
|
data/lib/recode/refinements.rb
CHANGED
@@ -2,12 +2,12 @@ module Recode
|
|
2
2
|
module Refinements
|
3
3
|
refine String do
|
4
4
|
def underscore
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
5
|
+
gsub(/::/, '/')
|
6
|
+
.gsub(/([A-Z]+)([A-Z][a-z])/, '\1_\2')
|
7
|
+
.gsub(/([a-z\d])([A-Z])/, '\1_\2')
|
8
|
+
.tr('-', '_')
|
9
|
+
.downcase
|
10
10
|
end
|
11
11
|
end
|
12
12
|
end
|
13
|
-
end
|
13
|
+
end
|
data/lib/recode/runner.rb
CHANGED
@@ -3,12 +3,13 @@ module Recode
|
|
3
3
|
include Colsole
|
4
4
|
include ChangeVariations
|
5
5
|
|
6
|
-
attr_accessor :path, :extensions, :old_string, :new_string
|
7
|
-
attr_accessor :handler
|
6
|
+
attr_accessor :path, :extensions, :old_string, :new_string, :handler
|
8
7
|
|
9
8
|
def initialize(path: nil, extensions: nil, old_string: nil, new_string: nil)
|
10
|
-
@path
|
11
|
-
@
|
9
|
+
@path = path
|
10
|
+
@extensions = extensions
|
11
|
+
@old_string = old_string
|
12
|
+
@new_string = new_string
|
12
13
|
end
|
13
14
|
|
14
15
|
def execute(handler)
|
@@ -31,14 +32,14 @@ module Recode
|
|
31
32
|
def refactor_filename(file)
|
32
33
|
target = apply_changes file
|
33
34
|
payload = { source: file, target: target }
|
34
|
-
handler.rename
|
35
|
+
handler.rename(**payload) unless target == file
|
35
36
|
end
|
36
37
|
|
37
38
|
def refactor_content(file)
|
38
39
|
before = File.read file
|
39
40
|
after = apply_changes before
|
40
41
|
payload = { file: file, before: before, after: after }
|
41
|
-
handler.edit
|
42
|
+
handler.edit(**payload) unless before == after
|
42
43
|
end
|
43
44
|
|
44
45
|
def apply_changes(string)
|
data/lib/recode/version.rb
CHANGED
@@ -1,3 +1,3 @@
|
|
1
1
|
module Recode
|
2
|
-
VERSION =
|
3
|
-
end
|
2
|
+
VERSION = '0.1.3'
|
3
|
+
end
|
metadata
CHANGED
@@ -1,57 +1,63 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: recode
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Danny Ben Shitrit
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2023-02-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
14
|
+
name: colsole
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: 0.8.1
|
20
|
+
- - "<"
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: '2'
|
20
23
|
type: :runtime
|
21
24
|
prerelease: false
|
22
25
|
version_requirements: !ruby/object:Gem::Requirement
|
23
26
|
requirements:
|
24
|
-
- - "
|
27
|
+
- - ">="
|
25
28
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
29
|
+
version: 0.8.1
|
30
|
+
- - "<"
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '2'
|
27
33
|
- !ruby/object:Gem::Dependency
|
28
|
-
name:
|
34
|
+
name: diffy
|
29
35
|
requirement: !ruby/object:Gem::Requirement
|
30
36
|
requirements:
|
31
37
|
- - "~>"
|
32
38
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
39
|
+
version: '3.3'
|
34
40
|
type: :runtime
|
35
41
|
prerelease: false
|
36
42
|
version_requirements: !ruby/object:Gem::Requirement
|
37
43
|
requirements:
|
38
44
|
- - "~>"
|
39
45
|
- !ruby/object:Gem::Version
|
40
|
-
version: '
|
46
|
+
version: '3.3'
|
41
47
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
48
|
+
name: mister_bin
|
43
49
|
requirement: !ruby/object:Gem::Requirement
|
44
50
|
requirements:
|
45
51
|
- - "~>"
|
46
52
|
- !ruby/object:Gem::Version
|
47
|
-
version: '
|
53
|
+
version: '0.7'
|
48
54
|
type: :runtime
|
49
55
|
prerelease: false
|
50
56
|
version_requirements: !ruby/object:Gem::Requirement
|
51
57
|
requirements:
|
52
58
|
- - "~>"
|
53
59
|
- !ruby/object:Gem::Version
|
54
|
-
version: '
|
60
|
+
version: '0.7'
|
55
61
|
- !ruby/object:Gem::Dependency
|
56
62
|
name: strings-inflection
|
57
63
|
requirement: !ruby/object:Gem::Requirement
|
@@ -91,7 +97,8 @@ files:
|
|
91
97
|
homepage: https://github.com/dannyben/recode
|
92
98
|
licenses:
|
93
99
|
- MIT
|
94
|
-
metadata:
|
100
|
+
metadata:
|
101
|
+
rubygems_mfa_required: 'true'
|
95
102
|
post_install_message:
|
96
103
|
rdoc_options: []
|
97
104
|
require_paths:
|
@@ -100,14 +107,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
100
107
|
requirements:
|
101
108
|
- - ">="
|
102
109
|
- !ruby/object:Gem::Version
|
103
|
-
version: 2.
|
110
|
+
version: 2.7.0
|
104
111
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
105
112
|
requirements:
|
106
113
|
- - ">="
|
107
114
|
- !ruby/object:Gem::Version
|
108
115
|
version: '0'
|
109
116
|
requirements: []
|
110
|
-
rubygems_version: 3.
|
117
|
+
rubygems_version: 3.4.6
|
111
118
|
signing_key:
|
112
119
|
specification_version: 4
|
113
120
|
summary: Command line utility for refactoring code
|