avm 0.64.2 → 0.66.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/file_formats/base.rb +8 -41
- data/lib/avm/file_formats/file_result.rb +13 -0
- data/lib/avm/file_formats/unknown.rb +18 -0
- data/lib/avm/instances/base/auto_values/database.rb +12 -27
- data/lib/avm/registry/file_formats.rb +6 -0
- data/lib/avm/version.rb +1 -1
- metadata +4 -3
- data/lib/avm/instances/base/auto_values/ruby.rb +0 -15
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b052d242bf8dccbe7db34f395acd096c3700c7553ee5c16f590970653ad6274f
|
4
|
+
data.tar.gz: 35f3f1cbb0840d82b8450921f2725b1adf10df833f82f9ec82138bb777b52e74
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1d3e9166ff3862d74e3d5087509c2fb0efbf5d96072eb6acde907ceb88eb14c4be73b7b4b6e0a36081feeefd893050c5bb18abc99b06e3bf983485c20a9af7ea
|
7
|
+
data.tar.gz: 0c1245bdf1e60ccee7bd6f270d7962f2e7eac458c802a728d395f0fb72e8e62e79535a9a0a3e5921bd8f7254bfa907ab7fafbc9a54e765d842aefa6973c3baa6
|
@@ -1,6 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require 'avm/file_formats/utf8_assert'
|
4
3
|
require 'eac_fs/file_info'
|
5
4
|
require 'ostruct'
|
6
5
|
|
@@ -10,10 +9,10 @@ module Avm
|
|
10
9
|
enable_abstract_methods
|
11
10
|
compare_by :class
|
12
11
|
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
12
|
+
# @params files [Enumerable<Pathname>]
|
13
|
+
# @return [Enumerable<Avm::FileFormats::FileResult>]
|
14
|
+
def apply(_files)
|
15
|
+
raise_abstract_method __method__
|
17
16
|
end
|
18
17
|
|
19
18
|
# @param path [Pathname]
|
@@ -26,42 +25,10 @@ module Avm
|
|
26
25
|
self.class.name.demodulize
|
27
26
|
end
|
28
27
|
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
def valid_basenames
|
34
|
-
constant_or_array('VALID_BASENAMES')
|
35
|
-
end
|
36
|
-
|
37
|
-
def valid_types
|
38
|
-
constant_or_array('VALID_TYPES')
|
39
|
-
end
|
40
|
-
|
41
|
-
private
|
42
|
-
|
43
|
-
def constant_or_array(name)
|
44
|
-
return [] unless self.class.const_defined?(name)
|
45
|
-
|
46
|
-
self.class.const_get(name)
|
47
|
-
end
|
48
|
-
|
49
|
-
def build_file_result(file, old_content)
|
50
|
-
::OpenStruct.new(file: file, format: self.class,
|
51
|
-
changed: (old_content != File.read(file)))
|
52
|
-
end
|
53
|
-
|
54
|
-
def match_by_filename?(file)
|
55
|
-
valid_basenames.any? do |valid_basename|
|
56
|
-
file.basename.fnmatch?(valid_basename)
|
57
|
-
end
|
58
|
-
end
|
59
|
-
|
60
|
-
def match_by_type?(file)
|
61
|
-
info = ::EacFs::FileInfo.new(file)
|
62
|
-
return unless info.content_type.type == 'text'
|
63
|
-
|
64
|
-
valid_types.include?(info.content_type.subtype)
|
28
|
+
# @param file [Pathname]
|
29
|
+
# @return [Boolean]
|
30
|
+
def match?(_file)
|
31
|
+
raise_abstract_method __method__
|
65
32
|
end
|
66
33
|
end
|
67
34
|
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'avm/file_formats/base'
|
4
|
+
require 'eac_ruby_utils/core_ext'
|
5
|
+
|
6
|
+
module Avm
|
7
|
+
module FileFormats
|
8
|
+
class Unknown < ::Avm::FileFormats::Base
|
9
|
+
# @params files [Enumerable<Pathname>]
|
10
|
+
# @return [Enumerable<Avm::FileFormats::FileResult>]
|
11
|
+
def apply(files)
|
12
|
+
files.map do |file|
|
13
|
+
::Avm::FileFormats::FileResult.new(file, self.class, false)
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -7,8 +7,9 @@ module Avm
|
|
7
7
|
class Base
|
8
8
|
module AutoValues
|
9
9
|
module Database
|
10
|
+
LOCAL_ADDRESS = '127.0.0.1'
|
10
11
|
DEFAULT_EXTRA = ''
|
11
|
-
DEFAULT_HOSTNAME =
|
12
|
+
DEFAULT_HOSTNAME = LOCAL_ADDRESS
|
12
13
|
DEFAULT_LIMIT = 5
|
13
14
|
DEFAULT_PORTS = {
|
14
15
|
'postgresql' => 5432,
|
@@ -19,8 +20,16 @@ module Avm
|
|
19
20
|
DEFAULT_SYSTEM = 'postgresql'
|
20
21
|
DEFAULT_TIMEOUT = 5000
|
21
22
|
|
22
|
-
|
23
|
-
|
23
|
+
%w[extra hostname limit system timeout].each do |attr|
|
24
|
+
define_method "auto_database_#{attr}" do
|
25
|
+
database_auto_common(attr) || self.class.const_get("default_#{attr}".upcase)
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
%w[username password].each do |attr|
|
30
|
+
define_method "auto_database_#{attr}" do
|
31
|
+
database_auto_common(attr) || id
|
32
|
+
end
|
24
33
|
end
|
25
34
|
|
26
35
|
def auto_database_name
|
@@ -28,34 +37,10 @@ module Avm
|
|
28
37
|
::Avm::Instances::EntryKeys::DATABASE_NAME) || id
|
29
38
|
end
|
30
39
|
|
31
|
-
def auto_database_hostname
|
32
|
-
database_auto_common('hostname') || DEFAULT_HOSTNAME
|
33
|
-
end
|
34
|
-
|
35
|
-
def auto_database_limit
|
36
|
-
database_auto_common('limit') || DEFAULT_LIMIT
|
37
|
-
end
|
38
|
-
|
39
|
-
def auto_database_password
|
40
|
-
database_auto_common('password') || id
|
41
|
-
end
|
42
|
-
|
43
40
|
def auto_database_port
|
44
41
|
database_auto_common('port') || database_port_by_system
|
45
42
|
end
|
46
43
|
|
47
|
-
def auto_database_username
|
48
|
-
database_auto_common('username') || id
|
49
|
-
end
|
50
|
-
|
51
|
-
def auto_database_system
|
52
|
-
database_auto_common('system') || DEFAULT_SYSTEM
|
53
|
-
end
|
54
|
-
|
55
|
-
def auto_database_timeout
|
56
|
-
database_auto_common('timeout') || DEFAULT_TIMEOUT
|
57
|
-
end
|
58
|
-
|
59
44
|
private
|
60
45
|
|
61
46
|
def database_auto_common(suffix)
|
@@ -1,5 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
require 'avm/file_formats/unknown'
|
3
4
|
require 'avm/registry/from_gems'
|
4
5
|
|
5
6
|
module Avm
|
@@ -9,6 +10,11 @@ module Avm
|
|
9
10
|
def class_detect(klass, detect_args)
|
10
11
|
klass.new if klass.new.match?(detect_args.first)
|
11
12
|
end
|
13
|
+
|
14
|
+
# @return [Avm::FileFormats::Base, Avm::FileFormats::Unknown]
|
15
|
+
def detect_optional(*registered_initialize_args)
|
16
|
+
super || ::Avm::FileFormats::Unknown.new
|
17
|
+
end
|
12
18
|
end
|
13
19
|
end
|
14
20
|
end
|
data/lib/avm/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: avm
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.66.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Eduardo H. Bogoni
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-04-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: aranha-parsers
|
@@ -279,7 +279,9 @@ files:
|
|
279
279
|
- lib/avm/executables.rb
|
280
280
|
- lib/avm/file_formats.rb
|
281
281
|
- lib/avm/file_formats/base.rb
|
282
|
+
- lib/avm/file_formats/file_result.rb
|
282
283
|
- lib/avm/file_formats/search_formatter.rb
|
284
|
+
- lib/avm/file_formats/unknown.rb
|
283
285
|
- lib/avm/file_formats/utf8_assert.rb
|
284
286
|
- lib/avm/instances.rb
|
285
287
|
- lib/avm/instances/base.rb
|
@@ -287,7 +289,6 @@ files:
|
|
287
289
|
- lib/avm/instances/base/auto_values/data.rb
|
288
290
|
- lib/avm/instances/base/auto_values/database.rb
|
289
291
|
- lib/avm/instances/base/auto_values/mailer.rb
|
290
|
-
- lib/avm/instances/base/auto_values/ruby.rb
|
291
292
|
- lib/avm/instances/base/auto_values/source.rb
|
292
293
|
- lib/avm/instances/base/dockerizable.rb
|
293
294
|
- lib/avm/instances/base/entry_keys.rb
|
@@ -1,15 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Avm
|
4
|
-
module Instances
|
5
|
-
class Base
|
6
|
-
module AutoValues
|
7
|
-
module Ruby
|
8
|
-
def auto_ruby_version
|
9
|
-
inherited_entry_value(::Avm::Instances::EntryKeys::INSTALL_ID, 'ruby.version')
|
10
|
-
end
|
11
|
-
end
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|