avm 0.59.0 → 0.60.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/avm/file_formats/base.rb +7 -0
- data/lib/avm/file_formats/search_formatter.rb +2 -12
- data/lib/avm/registry/file_formats.rb +4 -0
- data/lib/avm/rspec/setup.rb +2 -2
- data/lib/avm/rspec/shared_examples/avm_file_format_file_resource_name.rb +15 -0
- data/lib/avm/scms/auto_commit/file_resource_name.rb +9 -1
- data/lib/avm/version.rb +1 -1
- metadata +2 -2
- data/lib/avm/scms/auto_commit/file_resource_name/ruby.rb +0 -23
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8ee7bf9c423e00a5bbd0e070ab0f1a191f338e80c794fde0609a3463c7307d78
|
4
|
+
data.tar.gz: cdb1a486aadcb408fee1123c133f54c5d46fa912be903f49ed547166027b62a2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d1a37030086636976394fe3392a2681c4065cb8dbabd32fc1f702193b581372372519ef099b254c7c126f3818cff4715dc1597f2ecab1c65a9953044a20362a0
|
7
|
+
data.tar.gz: 2a72c35e69480aabe07bc71a00ec8cfaf30854ced09da08b423f88c9229f59e42275a902d9797f12a23ec5305c4893803770425b439035a96e70d3f45be30060
|
@@ -8,6 +8,7 @@ module Avm
|
|
8
8
|
module FileFormats
|
9
9
|
class Base
|
10
10
|
enable_abstract_methods
|
11
|
+
compare_by :class
|
11
12
|
|
12
13
|
def apply(files)
|
13
14
|
old_content = Hash[files.map { |f| [f, File.read(f)] }]
|
@@ -15,6 +16,12 @@ module Avm
|
|
15
16
|
files.map { |f| build_file_result(f, old_content[f]) }
|
16
17
|
end
|
17
18
|
|
19
|
+
# @param path [Pathname]
|
20
|
+
# @return [Avm::FileFormats::FileWith]
|
21
|
+
def file_resource_name(path)
|
22
|
+
path.to_pathname.to_path
|
23
|
+
end
|
24
|
+
|
18
25
|
def name
|
19
26
|
self.class.name.demodulize
|
20
27
|
end
|
@@ -50,19 +50,9 @@ module Avm
|
|
50
50
|
@result = []
|
51
51
|
end
|
52
52
|
|
53
|
+
# @return [Avm::FileFormats::Base, nil]
|
53
54
|
def find_format(file)
|
54
|
-
|
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)
|
55
|
+
::Avm::Registry.file_formats.detect_optional(file)
|
66
56
|
end
|
67
57
|
|
68
58
|
def search_files
|
@@ -5,6 +5,10 @@ require 'avm/registry/from_gems'
|
|
5
5
|
module Avm
|
6
6
|
module Registry
|
7
7
|
class FileFormats < ::Avm::Registry::FromGems
|
8
|
+
# @return [Avm::FileFormats::Base]
|
9
|
+
def class_detect(klass, detect_args)
|
10
|
+
klass.new if klass.new.match?(detect_args.first)
|
11
|
+
end
|
8
12
|
end
|
9
13
|
end
|
10
14
|
end
|
data/lib/avm/rspec/setup.rb
CHANGED
@@ -7,8 +7,8 @@ module Avm
|
|
7
7
|
module Rspec
|
8
8
|
module Setup
|
9
9
|
require_sub __FILE__
|
10
|
-
EXAMPLES = %w[avm_file_formats_with_fixtures
|
11
|
-
in_avm_registry not_in_avm_registry].freeze
|
10
|
+
EXAMPLES = %w[avm_file_formats_with_fixtures avm_file_format_file_resource_name
|
11
|
+
avm_source_generated entries_values in_avm_registry not_in_avm_registry].freeze
|
12
12
|
|
13
13
|
def self.extended(obj)
|
14
14
|
obj.setup_examples
|
@@ -0,0 +1,15 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'eac_ruby_utils/core_ext'
|
4
|
+
|
5
|
+
::RSpec.shared_examples 'avm_file_format_file_resource_name' do |input_expected|
|
6
|
+
describe '#file_resource_name' do
|
7
|
+
input_expected.each do |path, expected_resource_name|
|
8
|
+
context "when path is \"#{path}\"" do
|
9
|
+
let(:instance) { described_class.new }
|
10
|
+
|
11
|
+
it { expect(instance.file_resource_name(path)).to eq(expected_resource_name) }
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -7,13 +7,14 @@ module Avm
|
|
7
7
|
module AutoCommit
|
8
8
|
class FileResourceName
|
9
9
|
require_sub __FILE__, include_modules: true
|
10
|
+
enable_simple_cache
|
10
11
|
common_constructor :source_root, :path do
|
11
12
|
self.source_root = source_root.to_pathname
|
12
13
|
self.path = path.to_pathname
|
13
14
|
end
|
14
15
|
|
15
16
|
def class_name
|
16
|
-
|
17
|
+
file_format.file_resource_name(path)
|
17
18
|
end
|
18
19
|
|
19
20
|
def commit_message
|
@@ -25,6 +26,13 @@ module Avm
|
|
25
26
|
def relative_path
|
26
27
|
path.expand_path.relative_path_from(source_root.expand_path)
|
27
28
|
end
|
29
|
+
|
30
|
+
private
|
31
|
+
|
32
|
+
# @return [Avm::FileFormats::Base]
|
33
|
+
def file_format_uncached
|
34
|
+
::Avm::Registry.file_formats.detect(path)
|
35
|
+
end
|
28
36
|
end
|
29
37
|
end
|
30
38
|
end
|
data/lib/avm/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: avm
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.60.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Eduardo H. Bogoni
|
@@ -369,6 +369,7 @@ files:
|
|
369
369
|
- lib/avm/rspec/setup.rb
|
370
370
|
- lib/avm/rspec/setup/launcher.rb
|
371
371
|
- lib/avm/rspec/setup/source_generator.rb
|
372
|
+
- lib/avm/rspec/shared_examples/avm_file_format_file_resource_name.rb
|
372
373
|
- lib/avm/rspec/shared_examples/avm_file_formats_with_fixtures.rb
|
373
374
|
- lib/avm/rspec/shared_examples/avm_source_generated.rb
|
374
375
|
- lib/avm/rspec/shared_examples/entries_values.rb
|
@@ -378,7 +379,6 @@ files:
|
|
378
379
|
- lib/avm/scms.rb
|
379
380
|
- lib/avm/scms/auto_commit.rb
|
380
381
|
- lib/avm/scms/auto_commit/file_resource_name.rb
|
381
|
-
- lib/avm/scms/auto_commit/file_resource_name/ruby.rb
|
382
382
|
- lib/avm/scms/auto_commit/for_file.rb
|
383
383
|
- lib/avm/scms/auto_commit/rules.rb
|
384
384
|
- lib/avm/scms/auto_commit/rules/base.rb
|
@@ -1,23 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'eac_ruby_utils/core_ext'
|
4
|
-
|
5
|
-
module Avm
|
6
|
-
module Scms
|
7
|
-
module AutoCommit
|
8
|
-
class FileResourceName
|
9
|
-
module Ruby
|
10
|
-
RUBY_CLASS_NAME_PATTERNS = [%r{lib/((?!.*/lib/).+)\.rb\z},
|
11
|
-
%r{app/[^/]+/(.+)\.rb\z}].freeze
|
12
|
-
|
13
|
-
def ruby_class_name
|
14
|
-
RUBY_CLASS_NAME_PATTERNS.each do |pattern|
|
15
|
-
pattern.if_match(relative_path.to_path, false) { |m| return m[1].camelize }
|
16
|
-
end
|
17
|
-
nil
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|
23
|
-
end
|