avm-files 0.5.0 → 0.6.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
2
  SHA256:
3
- metadata.gz: d5d5cb06e33cdfb8e9c6b35d9349dfdfebd3751af5fa4ee2c7809769c97e4941
4
- data.tar.gz: fcfc92226e4436f50623e2e29d40f21ddb7fdb9c4d7a5bfb401e9b73f58f7bb1
3
+ metadata.gz: a15e83c7782bf6ffdef6b000388557afe3908a8674fd2fe39271d25e9ba8d95a
4
+ data.tar.gz: 827f3caae4307adac725722fc90eb841b83c3202ee827a8d9382ae31f5e95e8e
5
5
  SHA512:
6
- metadata.gz: da6fb0ff60feff999ccabc04353c5db56aa76412508c583a4d0f48f54b1522305cc849c1d17c4cebf7bdf4013ceb8caf2b2066b29329e2f9563f5c8bbf9c244b
7
- data.tar.gz: e6c8d78575769d1e4b0fa4115b74d54875bbc8b89d24086fe55b47648482b2767679a49d7e316f45c49ab3187fade40a6d2f1b8fe5d93fefacc0d6ef0b6bfd16
6
+ metadata.gz: 51d7889ea7e2b81d7fb8912d935cc8799a20991035ee7a5cbbbd48f56740a38c3c328ac723a48e57252da6cc6591bc3b6c3c2ead555d2c334611b768c643ccf2
7
+ data.tar.gz: b804db8f325774413c9d258b68bfbad0a1d6018052550252bfbadce32156478f4925fc45860eec4f52c30fb3efcc9a85193295f83d66336690acad6f74011e53
@@ -2,7 +2,7 @@
2
2
 
3
3
  require 'eac_ruby_utils/core_ext'
4
4
  require 'avm/files/appendable/resource_base'
5
- require 'eac_templates/directory'
5
+ require 'eac_templates/variables/directory'
6
6
 
7
7
  module Avm
8
8
  module Files
@@ -18,7 +18,7 @@ module Avm
18
18
  def write_on(target_dir)
19
19
  raise 'Variables source not set' if appender.variables_source.blank?
20
20
 
21
- ::EacTemplates::Directory.new(source_path).apply(
21
+ ::EacTemplates::Variables::Directory.new(source_path).apply(
22
22
  appender.variables_source,
23
23
  target_dir
24
24
  )
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Avm
4
4
  module Files
5
- VERSION = '0.5.0'
5
+ VERSION = '0.6.1'
6
6
  end
7
7
  end
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.5.0
4
+ version: 0.6.1
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: 2022-10-20 00:00:00.000000000 Z
11
+ date: 2023-04-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: avm
@@ -16,82 +16,82 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0.51'
19
+ version: '0.67'
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: 0.67.1
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: '0.51'
29
+ version: '0.67'
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: 0.67.1
27
33
  - !ruby/object:Gem::Dependency
28
34
  name: eac_cli
29
35
  requirement: !ruby/object:Gem::Requirement
30
36
  requirements:
31
37
  - - "~>"
32
38
  - !ruby/object:Gem::Version
33
- version: '0.28'
39
+ version: '0.30'
40
+ - - ">="
41
+ - !ruby/object:Gem::Version
42
+ version: 0.30.1
34
43
  type: :runtime
35
44
  prerelease: false
36
45
  version_requirements: !ruby/object:Gem::Requirement
37
46
  requirements:
38
47
  - - "~>"
39
48
  - !ruby/object:Gem::Version
40
- version: '0.28'
49
+ version: '0.30'
50
+ - - ">="
51
+ - !ruby/object:Gem::Version
52
+ version: 0.30.1
41
53
  - !ruby/object:Gem::Dependency
42
54
  name: eac_fs
43
55
  requirement: !ruby/object:Gem::Requirement
44
56
  requirements:
45
57
  - - "~>"
46
58
  - !ruby/object:Gem::Version
47
- version: '0.12'
48
- - - ">="
49
- - !ruby/object:Gem::Version
50
- version: 0.12.3
59
+ version: '0.16'
51
60
  type: :runtime
52
61
  prerelease: false
53
62
  version_requirements: !ruby/object:Gem::Requirement
54
63
  requirements:
55
64
  - - "~>"
56
65
  - !ruby/object:Gem::Version
57
- version: '0.12'
58
- - - ">="
59
- - !ruby/object:Gem::Version
60
- version: 0.12.3
66
+ version: '0.16'
61
67
  - !ruby/object:Gem::Dependency
62
68
  name: eac_ruby_utils
63
69
  requirement: !ruby/object:Gem::Requirement
64
70
  requirements:
65
71
  - - "~>"
66
72
  - !ruby/object:Gem::Version
67
- version: '0.105'
73
+ version: '0.112'
68
74
  type: :runtime
69
75
  prerelease: false
70
76
  version_requirements: !ruby/object:Gem::Requirement
71
77
  requirements:
72
78
  - - "~>"
73
79
  - !ruby/object:Gem::Version
74
- version: '0.105'
80
+ version: '0.112'
75
81
  - !ruby/object:Gem::Dependency
76
82
  name: eac_templates
77
83
  requirement: !ruby/object:Gem::Requirement
78
84
  requirements:
79
85
  - - "~>"
80
86
  - !ruby/object:Gem::Version
81
- version: '0.3'
82
- - - ">="
83
- - !ruby/object:Gem::Version
84
- version: 0.3.2
87
+ version: '0.4'
85
88
  type: :runtime
86
89
  prerelease: false
87
90
  version_requirements: !ruby/object:Gem::Requirement
88
91
  requirements:
89
92
  - - "~>"
90
93
  - !ruby/object:Gem::Version
91
- version: '0.3'
92
- - - ">="
93
- - !ruby/object:Gem::Version
94
- version: 0.3.2
94
+ version: '0.4'
95
95
  - !ruby/object:Gem::Dependency
96
96
  name: eac_ruby_gem_support
97
97
  requirement: !ruby/object:Gem::Requirement
@@ -121,8 +121,6 @@ files:
121
121
  - lib/avm/files/appendable/templatized_directory.rb
122
122
  - lib/avm/files/appender.rb
123
123
  - lib/avm/files/deploy.rb
124
- - lib/avm/files/formatter.rb
125
- - lib/avm/files/formatter/utf8_assert.rb
126
124
  - lib/avm/files/runner_with.rb
127
125
  - lib/avm/files/runner_with/file_replacer.rb
128
126
  - lib/avm/files/runner_with/filesystem_traverser.rb
@@ -1,74 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_fs/file_info'
4
-
5
- module Avm
6
- module Files
7
- class Formatter
8
- class Utf8Assert
9
- UTF8_CHARSET = 'utf-8'
10
- UTF8_CHARSETS = [UTF8_CHARSET, 'us-ascii'].freeze
11
-
12
- class << self
13
- def assert_files(files)
14
- asserters = files.map { |file| new(file) }
15
- begin
16
- asserters.each(&:assert)
17
- yield
18
- ensure
19
- asserters.each(&:revert)
20
- end
21
- end
22
- end
23
-
24
- enable_simple_cache
25
- common_constructor :path
26
-
27
- def assert
28
- return if original_utf8?
29
-
30
- convert_self(original_charset, UTF8_CHARSET)
31
- end
32
-
33
- def revert
34
- return if original_utf8?
35
-
36
- convert_self(UTF8_CHARSET, original_charset)
37
- end
38
-
39
- private
40
-
41
- def original_info_uncached
42
- ::EacFs::FileInfo.new(path)
43
- end
44
-
45
- def original_charset_uncached
46
- return original_info.content_type.charset if original_info.content_type.charset.present?
47
-
48
- raise 'No charset found'
49
- rescue StandardError => e
50
- raise "Unable to determine the charset of #{path} (#{e.message})"
51
- end
52
-
53
- def original_utf8?
54
- UTF8_CHARSETS.include?(original_charset)
55
- end
56
-
57
- def convert_file(from_path, from_charset, to_path, to_charset)
58
- File.open(from_path, "r:#{from_charset}") do |input|
59
- File.open(to_path, "w:#{to_charset}") do |output|
60
- output.write(input.read)
61
- end
62
- end
63
- end
64
-
65
- def convert_self(from_charset, to_charset)
66
- temp = ::Tempfile.new
67
- temp.close
68
- convert_file(path, from_charset, temp.path, to_charset)
69
- ::FileUtils.mv(temp.path, path)
70
- end
71
- end
72
- end
73
- end
74
- end
@@ -1,91 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'avm/registry'
4
- require 'eac_ruby_utils/core_ext'
5
- require 'eac_fs/traversable'
6
-
7
- module Avm
8
- module Files
9
- class Formatter
10
- include ::EacFs::Traversable
11
- require_sub __FILE__
12
- enable_simple_cache
13
- enable_speaker
14
- enable_listable
15
- lists.add_symbol :option, :apply, :recursive, :verbose
16
- common_constructor :source_paths, :options, default: [{}] do
17
- options.assert_valid_keys(self.class.lists.option.values)
18
- end
19
-
20
- def run
21
- clear
22
- search_files
23
- apply
24
- show_results
25
- end
26
-
27
- private
28
-
29
- def apply
30
- infom "Applying #{@formats_files.count} format(s)... "
31
- @formats_files.each do |format, files|
32
- infom "Applying format #{format.name} (Files matched: #{files.count})..."
33
- next unless options[OPTION_APPLY]
34
-
35
- @result += format.apply(files)
36
- end
37
- end
38
-
39
- def traverser_check_file(file)
40
- format = find_format(file)
41
- infov file, format ? format.class : '-' if options[OPTION_VERBOSE]
42
- return unless format
43
-
44
- @formats_files[format] ||= []
45
- @formats_files[format] << file
46
- end
47
-
48
- def clear
49
- @formats_files = {}
50
- @result = []
51
- end
52
-
53
- def find_format(file)
54
- formats.each do |c|
55
- return c if c.match?(file)
56
- end
57
- nil
58
- end
59
-
60
- def formats_uncached
61
- formats_from_registry
62
- end
63
-
64
- def formats_from_registry
65
- ::Avm::Registry.file_formats.available.reverse.map(&:new)
66
- end
67
-
68
- def search_files
69
- infov 'Directories to search', source_paths.count
70
- source_paths.each do |source_path|
71
- infom "Searching files on \"#{source_path}\"..."
72
- traverser_check_path(source_path)
73
- end
74
- end
75
-
76
- def show_results
77
- changed = @result.select(&:changed)
78
- changed.each do |h|
79
- out h.file.to_s.cyan
80
- out " (#{h.format})".yellow
81
- puts ' changed'.green
82
- end
83
- infov('Files changed', "#{changed.count}/#{@result.count}")
84
- end
85
-
86
- def traverser_recursive
87
- options[OPTION_RECURSIVE]
88
- end
89
- end
90
- end
91
- end