recode 0.1.1 → 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 +4 -3
- 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 +13 -0
- data/lib/recode/runner.rb +7 -6
- data/lib/recode/version.rb +2 -2
- data/lib/recode.rb +1 -0
- metadata +24 -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
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
module Recode
|
|
2
2
|
module ChangeVariations
|
|
3
3
|
using Strings::Inflection::Extensions
|
|
4
|
+
using Recode::Refinements
|
|
4
5
|
|
|
5
6
|
def change_variations(old_string, new_string)
|
|
6
7
|
result = []
|
|
7
|
-
result << [old_string.pluralize.
|
|
8
|
+
result << [old_string.pluralize.underscore, new_string.pluralize.underscore]
|
|
8
9
|
result << [old_string.pluralize, new_string.pluralize]
|
|
9
|
-
result << [old_string.
|
|
10
|
+
result << [old_string.underscore, new_string.underscore]
|
|
10
11
|
result << [old_string, new_string]
|
|
11
12
|
result.uniq
|
|
12
13
|
end
|
|
13
14
|
end
|
|
14
|
-
end
|
|
15
|
+
end
|
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/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
|
data/lib/recode.rb
CHANGED
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
|
|
@@ -85,12 +91,14 @@ files:
|
|
|
85
91
|
- lib/recode/handler/base.rb
|
|
86
92
|
- lib/recode/handler/output.rb
|
|
87
93
|
- lib/recode/handler/prompt.rb
|
|
94
|
+
- lib/recode/refinements.rb
|
|
88
95
|
- lib/recode/runner.rb
|
|
89
96
|
- lib/recode/version.rb
|
|
90
97
|
homepage: https://github.com/dannyben/recode
|
|
91
98
|
licenses:
|
|
92
99
|
- MIT
|
|
93
|
-
metadata:
|
|
100
|
+
metadata:
|
|
101
|
+
rubygems_mfa_required: 'true'
|
|
94
102
|
post_install_message:
|
|
95
103
|
rdoc_options: []
|
|
96
104
|
require_paths:
|
|
@@ -99,14 +107,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
99
107
|
requirements:
|
|
100
108
|
- - ">="
|
|
101
109
|
- !ruby/object:Gem::Version
|
|
102
|
-
version: 2.
|
|
110
|
+
version: 2.7.0
|
|
103
111
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
104
112
|
requirements:
|
|
105
113
|
- - ">="
|
|
106
114
|
- !ruby/object:Gem::Version
|
|
107
115
|
version: '0'
|
|
108
116
|
requirements: []
|
|
109
|
-
rubygems_version: 3.
|
|
117
|
+
rubygems_version: 3.4.6
|
|
110
118
|
signing_key:
|
|
111
119
|
specification_version: 4
|
|
112
120
|
summary: Command line utility for refactoring code
|