avm-files 0.8.1 → 0.9.0
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/lib/avm/files/version.rb +1 -1
- metadata +11 -82
- data/lib/avm/files/appendable/file_content.rb +0 -31
- data/lib/avm/files/appendable/plain_directory.rb +0 -30
- data/lib/avm/files/appendable/resource_base.rb +0 -19
- data/lib/avm/files/appendable/tar_output_command.rb +0 -31
- data/lib/avm/files/appendable/templatized_directory.rb +0 -40
- data/lib/avm/files/appendable.rb +0 -55
- data/lib/avm/files/appender.rb +0 -11
- data/lib/avm/files/deploy.rb +0 -71
- data/lib/avm/files/runner_with/file_replacer.rb +0 -34
- data/lib/avm/files/runner_with/filesystem_renamer.rb +0 -103
- data/lib/avm/files/runner_with/filesystem_traverser.rb +0 -54
- data/lib/avm/files/runner_with.rb +0 -11
- data/lib/avm/files/text_replacer/gsub.rb +0 -24
- data/lib/avm/files/text_replacer.rb +0 -32
- data/lib/avm/files.rb +0 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: '04864a6b9053c4c93b0e242ae4842148ee33486d43516a21976e4b277af6da58'
|
4
|
+
data.tar.gz: 050fb9e0bd47fd6b1881d65964eafaee350f9d22a730b2338b44e9e9f43a24db
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ce0c5699ef55a109cd8b7c6a8391f6f1271e34b7f5ea028d01009d75e1816571a9cfd90e2956fc362ec955a973601c9e7e28cdd531f8a6c42a99e3665ed88929
|
7
|
+
data.tar.gz: cd4d2e4f581dbe1ec907dd94e4ceff9c2b6bb1ba0381fde1a43325efb4f29206079d767b11b431395f115cfe66b8da680b483e1d8fd179b4d96a2ba8abf7be12
|
data/lib/avm/files/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: avm-files
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.9.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Put here the authors
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2025-06-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: avm
|
@@ -16,111 +16,40 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '0.
|
19
|
+
version: '0.95'
|
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.
|
26
|
+
version: '0.95'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
|
-
name:
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
30
|
-
requirements:
|
31
|
-
- - "~>"
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: '0.42'
|
34
|
-
type: :runtime
|
35
|
-
prerelease: false
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
37
|
-
requirements:
|
38
|
-
- - "~>"
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
version: '0.42'
|
41
|
-
- !ruby/object:Gem::Dependency
|
42
|
-
name: eac_fs
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
44
|
-
requirements:
|
45
|
-
- - "~>"
|
46
|
-
- !ruby/object:Gem::Version
|
47
|
-
version: '0.18'
|
48
|
-
type: :runtime
|
49
|
-
prerelease: false
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
51
|
-
requirements:
|
52
|
-
- - "~>"
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: '0.18'
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
|
-
name: eac_ruby_utils
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
58
|
-
requirements:
|
59
|
-
- - "~>"
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: '0.122'
|
62
|
-
type: :runtime
|
63
|
-
prerelease: false
|
64
|
-
version_requirements: !ruby/object:Gem::Requirement
|
65
|
-
requirements:
|
66
|
-
- - "~>"
|
67
|
-
- !ruby/object:Gem::Version
|
68
|
-
version: '0.122'
|
69
|
-
- !ruby/object:Gem::Dependency
|
70
|
-
name: eac_templates
|
28
|
+
name: eac_ruby_gem_support
|
71
29
|
requirement: !ruby/object:Gem::Requirement
|
72
30
|
requirements:
|
73
31
|
- - "~>"
|
74
32
|
- !ruby/object:Gem::Version
|
75
|
-
version: '0.
|
33
|
+
version: '0.11'
|
76
34
|
- - ">="
|
77
35
|
- !ruby/object:Gem::Version
|
78
|
-
version: 0.
|
79
|
-
type: :
|
36
|
+
version: 0.11.1
|
37
|
+
type: :development
|
80
38
|
prerelease: false
|
81
39
|
version_requirements: !ruby/object:Gem::Requirement
|
82
40
|
requirements:
|
83
41
|
- - "~>"
|
84
42
|
- !ruby/object:Gem::Version
|
85
|
-
version: '0.
|
43
|
+
version: '0.11'
|
86
44
|
- - ">="
|
87
45
|
- !ruby/object:Gem::Version
|
88
|
-
version: 0.
|
89
|
-
- !ruby/object:Gem::Dependency
|
90
|
-
name: eac_ruby_gem_support
|
91
|
-
requirement: !ruby/object:Gem::Requirement
|
92
|
-
requirements:
|
93
|
-
- - "~>"
|
94
|
-
- !ruby/object:Gem::Version
|
95
|
-
version: '0.10'
|
96
|
-
type: :development
|
97
|
-
prerelease: false
|
98
|
-
version_requirements: !ruby/object:Gem::Requirement
|
99
|
-
requirements:
|
100
|
-
- - "~>"
|
101
|
-
- !ruby/object:Gem::Version
|
102
|
-
version: '0.10'
|
46
|
+
version: 0.11.1
|
103
47
|
description:
|
104
48
|
email:
|
105
49
|
executables: []
|
106
50
|
extensions: []
|
107
51
|
extra_rdoc_files: []
|
108
52
|
files:
|
109
|
-
- lib/avm/files.rb
|
110
|
-
- lib/avm/files/appendable.rb
|
111
|
-
- lib/avm/files/appendable/file_content.rb
|
112
|
-
- lib/avm/files/appendable/plain_directory.rb
|
113
|
-
- lib/avm/files/appendable/resource_base.rb
|
114
|
-
- lib/avm/files/appendable/tar_output_command.rb
|
115
|
-
- lib/avm/files/appendable/templatized_directory.rb
|
116
|
-
- lib/avm/files/appender.rb
|
117
|
-
- lib/avm/files/deploy.rb
|
118
|
-
- lib/avm/files/runner_with.rb
|
119
|
-
- lib/avm/files/runner_with/file_replacer.rb
|
120
|
-
- lib/avm/files/runner_with/filesystem_renamer.rb
|
121
|
-
- lib/avm/files/runner_with/filesystem_traverser.rb
|
122
|
-
- lib/avm/files/text_replacer.rb
|
123
|
-
- lib/avm/files/text_replacer/gsub.rb
|
124
53
|
- lib/avm/files/version.rb
|
125
54
|
homepage:
|
126
55
|
licenses: []
|
@@ -143,5 +72,5 @@ requirements: []
|
|
143
72
|
rubygems_version: 3.1.6
|
144
73
|
signing_key:
|
145
74
|
specification_version: 4
|
146
|
-
summary:
|
75
|
+
summary: 'DEPRECATED: use gem "avm" instead.'
|
147
76
|
test_files: []
|
@@ -1,31 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'eac_ruby_utils/core_ext'
|
4
|
-
require 'avm/files/appendable/resource_base'
|
5
|
-
|
6
|
-
module Avm
|
7
|
-
module Files
|
8
|
-
module Appendable
|
9
|
-
class FileContent < ::Avm::Files::Appendable::ResourceBase
|
10
|
-
attr_reader :target_path, :content
|
11
|
-
|
12
|
-
def initialize(deploy, target_path, content)
|
13
|
-
super(deploy)
|
14
|
-
@target_path = target_path
|
15
|
-
@content = content
|
16
|
-
end
|
17
|
-
|
18
|
-
def write_on(target_dir)
|
19
|
-
target_dir.join(target_path).write(content)
|
20
|
-
end
|
21
|
-
|
22
|
-
protected
|
23
|
-
|
24
|
-
# @return [Enumerable<Symbol>]
|
25
|
-
def to_s_attributes
|
26
|
-
%i[target_path content]
|
27
|
-
end
|
28
|
-
end
|
29
|
-
end
|
30
|
-
end
|
31
|
-
end
|
@@ -1,30 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'eac_ruby_utils/core_ext'
|
4
|
-
require 'avm/files/appendable/resource_base'
|
5
|
-
|
6
|
-
module Avm
|
7
|
-
module Files
|
8
|
-
module Appendable
|
9
|
-
class PlainDirectory < ::Avm::Files::Appendable::ResourceBase
|
10
|
-
attr_reader :source_path
|
11
|
-
|
12
|
-
def initialize(appender, source_path)
|
13
|
-
super(appender)
|
14
|
-
@source_path = source_path.to_pathname
|
15
|
-
end
|
16
|
-
|
17
|
-
def write_on(target_dir)
|
18
|
-
raise "\"#{source_path}\" is not a directory" unless source_path.directory?
|
19
|
-
|
20
|
-
::FileUtils.cp_r("#{source_path}/.", target_dir.to_path)
|
21
|
-
end
|
22
|
-
|
23
|
-
# @return [Enumerable<Symbol>]
|
24
|
-
def to_s_attributes
|
25
|
-
[:source_path]
|
26
|
-
end
|
27
|
-
end
|
28
|
-
end
|
29
|
-
end
|
30
|
-
end
|
@@ -1,19 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'eac_ruby_utils/core_ext'
|
4
|
-
|
5
|
-
module Avm
|
6
|
-
module Files
|
7
|
-
module Appendable
|
8
|
-
class ResourceBase
|
9
|
-
acts_as_abstract :to_s_attributes
|
10
|
-
common_constructor :appender
|
11
|
-
|
12
|
-
def to_s
|
13
|
-
v_to_s = to_s_attributes.map { |k| "#{k}: #{send(k)}" }.join(', ')
|
14
|
-
"#{self.class.name}[#{v_to_s}]"
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|
@@ -1,31 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'eac_ruby_utils/core_ext'
|
4
|
-
require 'eac_ruby_utils/envs'
|
5
|
-
require 'avm/files/appendable/resource_base'
|
6
|
-
|
7
|
-
module Avm
|
8
|
-
module Files
|
9
|
-
module Appendable
|
10
|
-
class TarOutputCommand < ::Avm::Files::Appendable::ResourceBase
|
11
|
-
attr_reader :command
|
12
|
-
|
13
|
-
def initialize(appender, command)
|
14
|
-
super(appender)
|
15
|
-
@command = command
|
16
|
-
end
|
17
|
-
|
18
|
-
def write_on(target_dir)
|
19
|
-
command.pipe(
|
20
|
-
::EacRubyUtils::Envs.local.command('tar', '-xf', '-', '-C', target_dir)
|
21
|
-
).execute!
|
22
|
-
end
|
23
|
-
|
24
|
-
# @return [Enumerable<Symbol>]
|
25
|
-
def to_s_attributes
|
26
|
-
[:command]
|
27
|
-
end
|
28
|
-
end
|
29
|
-
end
|
30
|
-
end
|
31
|
-
end
|
@@ -1,40 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'eac_ruby_utils/core_ext'
|
4
|
-
require 'avm/files/appendable/resource_base'
|
5
|
-
require 'eac_templates/variables/directory'
|
6
|
-
|
7
|
-
module Avm
|
8
|
-
module Files
|
9
|
-
module Appendable
|
10
|
-
class TemplatizedDirectory < ::Avm::Files::Appendable::ResourceBase
|
11
|
-
common_constructor :appender, :source_path, super_args: -> { [appender] }
|
12
|
-
|
13
|
-
# @return [Object]
|
14
|
-
def applier
|
15
|
-
return source_path if source_path.respond_to?(:apply)
|
16
|
-
|
17
|
-
applier_from_path
|
18
|
-
end
|
19
|
-
|
20
|
-
# @return [EacTemplates::Variables::Directory]
|
21
|
-
def applier_from_path
|
22
|
-
raise "\"#{source_path}\" is not a directory" unless ::File.directory?(source_path)
|
23
|
-
|
24
|
-
::EacTemplates::Variables::Directory.new(source_path)
|
25
|
-
end
|
26
|
-
|
27
|
-
def write_on(target_dir)
|
28
|
-
raise 'Variables source not set' if appender.variables_source.blank?
|
29
|
-
|
30
|
-
applier.apply(appender.variables_source, target_dir)
|
31
|
-
end
|
32
|
-
|
33
|
-
# @return [Enumerable<Symbol>]
|
34
|
-
def to_s_attributes
|
35
|
-
[:source_path]
|
36
|
-
end
|
37
|
-
end
|
38
|
-
end
|
39
|
-
end
|
40
|
-
end
|
data/lib/avm/files/appendable.rb
DELETED
@@ -1,55 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'eac_ruby_utils/core_ext'
|
4
|
-
|
5
|
-
module Avm
|
6
|
-
module Files
|
7
|
-
module Appendable
|
8
|
-
require_sub __FILE__
|
9
|
-
|
10
|
-
attr_reader :variables_source
|
11
|
-
|
12
|
-
def appended
|
13
|
-
@appended ||= []
|
14
|
-
end
|
15
|
-
|
16
|
-
def append_templatized_directories(directories)
|
17
|
-
directories.each { |directory| append_templatized_directory(directory) }
|
18
|
-
self
|
19
|
-
end
|
20
|
-
|
21
|
-
def append_plain_directory(directory)
|
22
|
-
appended << ::Avm::Files::Appendable::PlainDirectory.new(self, directory)
|
23
|
-
self
|
24
|
-
end
|
25
|
-
|
26
|
-
def append_tar_output_command(tar_command)
|
27
|
-
appended << ::Avm::Files::Appendable::TarOutputCommand.new(self, tar_command)
|
28
|
-
self
|
29
|
-
end
|
30
|
-
|
31
|
-
def append_templatized_directory(directory)
|
32
|
-
appended << ::Avm::Files::Appendable::TemplatizedDirectory.new(self, directory)
|
33
|
-
self
|
34
|
-
end
|
35
|
-
|
36
|
-
def append_file_content(target_path, content)
|
37
|
-
appended << ::Avm::Files::Appendable::FileContent
|
38
|
-
.new(self, target_path, content)
|
39
|
-
self
|
40
|
-
end
|
41
|
-
|
42
|
-
def variables_source_set(source)
|
43
|
-
@variables_source = source
|
44
|
-
self
|
45
|
-
end
|
46
|
-
|
47
|
-
def write_appended_on(target_dir)
|
48
|
-
target_dir = target_dir.to_pathname
|
49
|
-
raise "\"#{target_dir}\" is not a directory" unless target_dir.directory?
|
50
|
-
|
51
|
-
appended.each { |append| append.write_on(target_dir) }
|
52
|
-
end
|
53
|
-
end
|
54
|
-
end
|
55
|
-
end
|
data/lib/avm/files/appender.rb
DELETED
data/lib/avm/files/deploy.rb
DELETED
@@ -1,71 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'addressable'
|
4
|
-
require 'avm/files/appendable'
|
5
|
-
require 'eac_ruby_utils/core_ext'
|
6
|
-
|
7
|
-
module Avm
|
8
|
-
module Files
|
9
|
-
class Deploy
|
10
|
-
include ::Avm::Files::Appendable
|
11
|
-
enable_simple_cache
|
12
|
-
|
13
|
-
attr_reader :build_dir, :target_env, :target_path
|
14
|
-
|
15
|
-
common_constructor :target_env, :target_path
|
16
|
-
|
17
|
-
def run
|
18
|
-
on_build_dir do
|
19
|
-
copy_content_to_build_dir
|
20
|
-
mkdir_target
|
21
|
-
clear_content
|
22
|
-
send_untar_package
|
23
|
-
set_target_permission
|
24
|
-
end
|
25
|
-
end
|
26
|
-
|
27
|
-
private
|
28
|
-
|
29
|
-
def on_build_dir
|
30
|
-
@build_dir = ::Dir.mktmpdir
|
31
|
-
yield
|
32
|
-
ensure
|
33
|
-
::FileUtils.rm_rf(@build_dir)
|
34
|
-
end
|
35
|
-
|
36
|
-
def copy_content_to_build_dir
|
37
|
-
write_appended_on(build_dir)
|
38
|
-
end
|
39
|
-
|
40
|
-
def mkdir_target
|
41
|
-
target_env.command('mkdir', '-p', target_path).execute!
|
42
|
-
end
|
43
|
-
|
44
|
-
def clear_content
|
45
|
-
target_env.command(
|
46
|
-
'find', target_path, '-mindepth', '1', '-maxdepth', '1', '-exec', 'rm', '-rf', '{}', ';'
|
47
|
-
).execute!
|
48
|
-
end
|
49
|
-
|
50
|
-
def send_untar_package
|
51
|
-
tar_build_command.pipe(untar_build_command).execute!
|
52
|
-
end
|
53
|
-
|
54
|
-
def set_target_permission
|
55
|
-
target_env.command('chmod', '755', target_path).execute!
|
56
|
-
end
|
57
|
-
|
58
|
-
def tar_build_command
|
59
|
-
source_env.command('tar', '-czO', '-C', build_dir, '.')
|
60
|
-
end
|
61
|
-
|
62
|
-
def untar_build_command
|
63
|
-
target_env.command('tar', '-xzf', '-', '-C', target_path)
|
64
|
-
end
|
65
|
-
|
66
|
-
def source_env
|
67
|
-
::EacRubyUtils::Envs.local
|
68
|
-
end
|
69
|
-
end
|
70
|
-
end
|
71
|
-
end
|
@@ -1,34 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'eac_cli/core_ext'
|
4
|
-
require 'avm/files/text_replacer'
|
5
|
-
require 'avm/files/runner_with/filesystem_traverser'
|
6
|
-
|
7
|
-
module Avm
|
8
|
-
module Files
|
9
|
-
module RunnerWith
|
10
|
-
module FileReplacer
|
11
|
-
common_concern do
|
12
|
-
include ::Avm::Files::RunnerWith::FilesystemTraverser
|
13
|
-
include TopMethods
|
14
|
-
end
|
15
|
-
|
16
|
-
module TopMethods
|
17
|
-
def text_replacer
|
18
|
-
::Avm::Files::TextReplacer.new
|
19
|
-
end
|
20
|
-
|
21
|
-
def replace_file?(_file)
|
22
|
-
true
|
23
|
-
end
|
24
|
-
|
25
|
-
def traverser_check_file(file)
|
26
|
-
return unless replace_file?(file)
|
27
|
-
|
28
|
-
infov 'Changed', file if text_replacer.file_apply(file)
|
29
|
-
end
|
30
|
-
end
|
31
|
-
end
|
32
|
-
end
|
33
|
-
end
|
34
|
-
end
|
@@ -1,103 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'eac_cli/core_ext'
|
4
|
-
|
5
|
-
module Avm
|
6
|
-
module Files
|
7
|
-
module RunnerWith
|
8
|
-
module FilesystemRenamer
|
9
|
-
common_concern do
|
10
|
-
runner_with :confirmation, :filesystem_traverser
|
11
|
-
prepend PrependMethods
|
12
|
-
end
|
13
|
-
|
14
|
-
class RenameFile
|
15
|
-
enable_speaker
|
16
|
-
common_constructor :runner, :file
|
17
|
-
delegate :path, :target_path, :valid?, to: :file
|
18
|
-
|
19
|
-
CONFIRM_MESSAGE = 'Rename?'
|
20
|
-
|
21
|
-
def show
|
22
|
-
if rename?
|
23
|
-
puts [target_path_to_s, '<='.green, path_to_s].join(' ')
|
24
|
-
else
|
25
|
-
puts path_to_s
|
26
|
-
end
|
27
|
-
end
|
28
|
-
|
29
|
-
def rename
|
30
|
-
return unless rename?
|
31
|
-
|
32
|
-
show
|
33
|
-
do_rename if runner.confirm?(CONFIRM_MESSAGE)
|
34
|
-
end
|
35
|
-
|
36
|
-
# @return [Boolean]
|
37
|
-
def rename?
|
38
|
-
path.to_pathname != target_path.to_pathname
|
39
|
-
end
|
40
|
-
|
41
|
-
private
|
42
|
-
|
43
|
-
def do_rename
|
44
|
-
::FileUtils.mv(path, target_path)
|
45
|
-
end
|
46
|
-
|
47
|
-
# @return [String]
|
48
|
-
def path_to_s
|
49
|
-
path.basename.to_path.light_black
|
50
|
-
end
|
51
|
-
|
52
|
-
# @return [String]
|
53
|
-
def target_path_to_s
|
54
|
-
target_path.relative_path_from(path.dirname).to_path
|
55
|
-
end
|
56
|
-
end
|
57
|
-
|
58
|
-
module PrependMethods
|
59
|
-
# @param path [Pathname]
|
60
|
-
# @return [void]
|
61
|
-
def traverser_check_file(path)
|
62
|
-
file = RenameFile.new(self, file_class.new(path))
|
63
|
-
files << file if file.valid?
|
64
|
-
end
|
65
|
-
end
|
66
|
-
|
67
|
-
FILE_WRAPPER_CLASS_BASENAME = 'FileWrapper'
|
68
|
-
|
69
|
-
# @return [Class]
|
70
|
-
def file_class
|
71
|
-
self.class.const_get(FILE_WRAPPER_CLASS_BASENAME)
|
72
|
-
end
|
73
|
-
|
74
|
-
# @return [void]
|
75
|
-
def run_filesystem_renamer
|
76
|
-
self.files = []
|
77
|
-
run_filesystem_traverser
|
78
|
-
show_files
|
79
|
-
rename_files
|
80
|
-
success 'Done'
|
81
|
-
end
|
82
|
-
|
83
|
-
# @return [void]
|
84
|
-
def show_files
|
85
|
-
infov 'Files found', files.count
|
86
|
-
files.each(&:show)
|
87
|
-
end
|
88
|
-
|
89
|
-
# @return [void]
|
90
|
-
def rename_files
|
91
|
-
return if parsed.no? || files.none?(&:rename?)
|
92
|
-
|
93
|
-
infom 'Renaming files...'
|
94
|
-
files.each(&:rename)
|
95
|
-
end
|
96
|
-
|
97
|
-
private
|
98
|
-
|
99
|
-
attr_accessor :files
|
100
|
-
end
|
101
|
-
end
|
102
|
-
end
|
103
|
-
end
|
@@ -1,54 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'eac_cli/runner'
|
4
|
-
require 'eac_fs/traversable'
|
5
|
-
require 'eac_ruby_utils/core_ext'
|
6
|
-
require 'eac_ruby_utils/settings_provider'
|
7
|
-
|
8
|
-
module Avm
|
9
|
-
module Files
|
10
|
-
module RunnerWith
|
11
|
-
module FilesystemTraverser
|
12
|
-
DEFAULT_DEFAULT_TRAVERSER_RECURSIVE = false
|
13
|
-
|
14
|
-
common_concern do
|
15
|
-
include ::EacCli::Runner
|
16
|
-
include ::EacFs::Traversable
|
17
|
-
enable_settings_provider
|
18
|
-
include TopMethods
|
19
|
-
runner_definition do
|
20
|
-
bool_opt '-R', '--recursive', 'Recursive.'
|
21
|
-
bool_opt '--no-recursive', 'No recursive.'
|
22
|
-
pos_arg :paths, optional: true, repeat: true
|
23
|
-
end
|
24
|
-
end
|
25
|
-
|
26
|
-
module TopMethods
|
27
|
-
def on_none_path_informed
|
28
|
-
infom 'Warning: none path informed'
|
29
|
-
end
|
30
|
-
|
31
|
-
def paths
|
32
|
-
parsed.paths.map(&:to_pathname)
|
33
|
-
end
|
34
|
-
|
35
|
-
def run_filesystem_traverser
|
36
|
-
if paths.any?
|
37
|
-
paths.each { |path| traverser_check_path(path) }
|
38
|
-
else
|
39
|
-
on_none_path_informed
|
40
|
-
end
|
41
|
-
end
|
42
|
-
|
43
|
-
def traverser_recursive
|
44
|
-
return false if parsed.no_recursive?
|
45
|
-
return true if parsed.recursive?
|
46
|
-
|
47
|
-
setting_value(:default_traverser_recursive, required: false)
|
48
|
-
.if_not_nil(DEFAULT_DEFAULT_TRAVERSER_RECURSIVE)
|
49
|
-
end
|
50
|
-
end
|
51
|
-
end
|
52
|
-
end
|
53
|
-
end
|
54
|
-
end
|
@@ -1,24 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'eac_ruby_utils/core_ext'
|
4
|
-
|
5
|
-
module Avm
|
6
|
-
module Files
|
7
|
-
class TextReplacer
|
8
|
-
class Gsub
|
9
|
-
common_constructor :from, :to do
|
10
|
-
self.from = from
|
11
|
-
self.to = to
|
12
|
-
end
|
13
|
-
|
14
|
-
def apply(input)
|
15
|
-
input.gsub(from, to)
|
16
|
-
end
|
17
|
-
|
18
|
-
def to_s
|
19
|
-
"\"#{from}\" => \"#{to}\""
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|
23
|
-
end
|
24
|
-
end
|
@@ -1,32 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'eac_ruby_utils/core_ext'
|
4
|
-
|
5
|
-
module Avm
|
6
|
-
module Files
|
7
|
-
class TextReplacer
|
8
|
-
require_sub __FILE__
|
9
|
-
enable_immutable
|
10
|
-
|
11
|
-
immutable_accessor :replacement, type: :array
|
12
|
-
|
13
|
-
def apply(input)
|
14
|
-
replacements.inject(input) { |a, e| e.apply(a) }
|
15
|
-
end
|
16
|
-
|
17
|
-
def file_apply(file)
|
18
|
-
file = file.to_pathname
|
19
|
-
input = file.read
|
20
|
-
output = apply(file.read)
|
21
|
-
return false if output == input
|
22
|
-
|
23
|
-
file.write(output)
|
24
|
-
true
|
25
|
-
end
|
26
|
-
|
27
|
-
def gsub(from, to)
|
28
|
-
replacement(::Avm::Files::TextReplacer::Gsub.new(from, to))
|
29
|
-
end
|
30
|
-
end
|
31
|
-
end
|
32
|
-
end
|