eac_tools 0.50.0 → 0.51.0

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: d4beb83e6ea4860f6c6b5a5e9cc4d06bc5fb2dbea75a75d431a9c37bae9070e9
4
- data.tar.gz: c982c7cd5fd95f92ac4d656df233600745a0a6f58cc1d662456804eda7a3a9e7
3
+ metadata.gz: 2dbc38a08966af86a3d17c50ad0788770045d7dcbd7c336fbbc31c9883b6a0aa
4
+ data.tar.gz: '0979accd22c7b7651e8ee52d4798efad58550b74e21def1a2df600f4a557386f'
5
5
  SHA512:
6
- metadata.gz: 10951929bb08a90e4d521c8f04baede258a04b8a4832a7770b765395616d5e7ec57dd88b5c6631d96a7aaeb5bb10f87cb99206e33ea86e3db635bee1b72a8d69
7
- data.tar.gz: a2134fad70db674197dade76b08aa2acfd16e4c8e6af35d5eb12b9a7447145055941e22af96e3280b8de0c1770ec6ac40486fde50fa4ba6c3e7c95f883a9db16
6
+ metadata.gz: f3c593fb8b4e163a02e42b7540022bc5180abc1883f1ee2a9b8608035243fe99b43cb484894e0fcc7b40a33b3b63d0b00651885ae4685ba59b7acc40259ff25e
7
+ data.tar.gz: 65b5f4c7a7713ebe7e49892df82e18965fc32d47304b4afc2ca35af8c0a82a0a85df6b238e79645cd7c99002ef09f3a407357ef3089aa77e61e0defa3d24fdec
data/Gemfile.lock CHANGED
@@ -1,8 +1,8 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- eac_tools (0.50.0)
5
- avm (~> 0.59)
4
+ eac_tools (0.51.0)
5
+ avm (~> 0.60)
6
6
  avm-eac_asciidoctor_base0 (~> 0.13)
7
7
  avm-eac_generic_base0 (~> 0.8)
8
8
  avm-eac_latex_base0 (~> 0.3)
@@ -13,7 +13,7 @@ PATH
13
13
  avm-eac_rails_base1 (~> 0.8)
14
14
  avm-eac_redmine_base0 (~> 0.18)
15
15
  avm-eac_redmine_plugin_base0 (~> 0.4)
16
- avm-eac_ruby_base1 (~> 0.27, >= 0.27.3)
16
+ avm-eac_ruby_base1 (~> 0.28)
17
17
  avm-eac_webapp_base0 (~> 0.13)
18
18
  avm-eac_wordpress_base0 (~> 0.3)
19
19
  avm-tools (~> 0.143)
@@ -118,10 +118,10 @@ PATH
118
118
  PATH
119
119
  remote: sub/avm-eac_ruby_base1
120
120
  specs:
121
- avm-eac_ruby_base1 (0.27.3)
122
- avm (~> 0.57)
121
+ avm-eac_ruby_base1 (0.28.0)
122
+ avm (~> 0.60)
123
123
  avm-eac_generic_base0 (~> 0.8)
124
- eac_ruby_utils (~> 0.109)
124
+ eac_ruby_utils (~> 0.110, >= 0.110.1)
125
125
 
126
126
  PATH
127
127
  remote: sub/avm-eac_ubuntu_base0
@@ -191,7 +191,7 @@ PATH
191
191
  PATH
192
192
  remote: sub/avm
193
193
  specs:
194
- avm (0.59.0)
194
+ avm (0.60.0)
195
195
  aranha-parsers (~> 0.14, >= 0.14.4)
196
196
  eac_cli (~> 0.30)
197
197
  eac_config (~> 0.12)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module EacTools
4
- VERSION = '0.50.0'
4
+ VERSION = '0.51.0'
5
5
  end
@@ -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
- 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)
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
@@ -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 avm_source_generated entries_values
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
- ruby_class_name || relative_path.to_path
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
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Avm
4
- VERSION = '0.59.0'
4
+ VERSION = '0.60.0'
5
5
  end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/file_formats/base'
4
+
5
+ ::RSpec.describe ::Avm::FileFormats::Base do
6
+ include_examples 'avm_file_format_file_resource_name', {
7
+ 'app/models/mynamespace/the_class.rb' => 'app/models/mynamespace/the_class.rb',
8
+ 'lib/ruby/lib/cliutils/eac_redmine_base0/activity.rb' =>
9
+ 'lib/ruby/lib/cliutils/eac_redmine_base0/activity.rb'
10
+ }
11
+ end
@@ -12,9 +12,9 @@ Gem::Specification.new do |s|
12
12
 
13
13
  s.files = Dir['{lib,locale,template}/**/*']
14
14
 
15
- s.add_dependency 'avm', '~> 0.57'
15
+ s.add_dependency 'avm', '~> 0.60'
16
16
  s.add_dependency 'avm-eac_generic_base0', '~> 0.8'
17
- s.add_dependency 'eac_ruby_utils', '~> 0.109'
17
+ s.add_dependency 'eac_ruby_utils', '~> 0.110', '>= 0.110.1'
18
18
 
19
19
  s.add_development_dependency 'aranha-parsers', '~> 0.14', '>= 0.14.1'
20
20
  s.add_development_dependency 'eac_ruby_gem_support', '~> 0.5.1'
@@ -0,0 +1,49 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/eac_generic_base0/file_formats/base'
4
+ require 'avm/eac_ruby_base1/rubocop'
5
+
6
+ module Avm
7
+ module EacRubyBase1
8
+ module FileFormats
9
+ class Base < ::Avm::EacGenericBase0::FileFormats::Base
10
+ class FileResourceName
11
+ enable_method_class
12
+ common_constructor :file_format, :path do
13
+ self.path = path.to_pathname
14
+ end
15
+
16
+ LIBRARY_PATTERNS = [%r{lib/((?!.*/lib/).+)\.rb\z},
17
+ %r{app/[^/]+/(.+)\.rb\z}].freeze
18
+ SPEC_PATTERNS = [%r{spec/[^/]+/(.+)_spec\.rb\z}].freeze
19
+
20
+ # @param path [Pathname]
21
+ # @return [Avm::FileFormats::FileWith]
22
+ def result
23
+ result_from_spec || result_from_library || result_from_superclass
24
+ end
25
+
26
+ private
27
+
28
+ def result_from_library
29
+ result_from_patterns(LIBRARY_PATTERNS) { |m| m[1].camelize }
30
+ end
31
+
32
+ def result_from_patterns(patterns)
33
+ patterns.lazy.map { |pattern| pattern.to_parser.parse(path.to_path) }
34
+ .find(&:present?).if_present { |v| yield(v) }
35
+ end
36
+
37
+ def result_from_spec
38
+ result_from_patterns(SPEC_PATTERNS) { |m| "RSpec.describe('#{m[1].camelize}')" }
39
+ end
40
+
41
+ def result_from_superclass
42
+ file_format.class.superclass.instance_method(:file_resource_name)
43
+ .bind_call(file_format, path)
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
49
+ end
@@ -7,6 +7,8 @@ module Avm
7
7
  module EacRubyBase1
8
8
  module FileFormats
9
9
  class Base < ::Avm::EacGenericBase0::FileFormats::Base
10
+ require_sub __FILE__
11
+
10
12
  VALID_BASENAMES = %w[*.gemspec *.rake *.rb Gemfile Rakefile].freeze
11
13
  VALID_TYPES = ['x-ruby'].freeze
12
14
 
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Avm
4
4
  module EacRubyBase1
5
- VERSION = '0.27.3'
5
+ VERSION = '0.28.0'
6
6
  end
7
7
  end
@@ -4,4 +4,12 @@ require 'avm/eac_ruby_base1/file_formats/base'
4
4
 
5
5
  ::RSpec.describe ::Avm::EacRubyBase1::FileFormats::Base do
6
6
  include_examples 'avm_file_formats_with_fixtures', __FILE__
7
+ include_examples 'avm_file_format_file_resource_name', {
8
+ 'app/models/mynamespace/the_class.rb' => 'Mynamespace::TheClass',
9
+ 'lib/ruby/lib/cliutils/eac_redmine_base0/activity.rb' => 'Cliutils::EacRedmineBase0::Activity',
10
+ 'a_non_library_file.rb' => 'a_non_library_file.rb',
11
+ 'spec/lib/my_lib_spec.rb' => 'RSpec.describe(\'MyLib\')',
12
+ 'spec/lib/sub/my_lib_spec.rb' => 'RSpec.describe(\'Sub::MyLib\')',
13
+ 'spec/spec_helper.rb' => 'spec/spec_helper.rb'
14
+ }
7
15
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: eac_tools
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.50.0
4
+ version: 0.51.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Put here the authors
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0.59'
19
+ version: '0.60'
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.59'
26
+ version: '0.60'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: avm-eac_asciidoctor_base0
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -188,20 +188,14 @@ dependencies:
188
188
  requirements:
189
189
  - - "~>"
190
190
  - !ruby/object:Gem::Version
191
- version: '0.27'
192
- - - ">="
193
- - !ruby/object:Gem::Version
194
- version: 0.27.3
191
+ version: '0.28'
195
192
  type: :runtime
196
193
  prerelease: false
197
194
  version_requirements: !ruby/object:Gem::Requirement
198
195
  requirements:
199
196
  - - "~>"
200
197
  - !ruby/object:Gem::Version
201
- version: '0.27'
202
- - - ">="
203
- - !ruby/object:Gem::Version
204
- version: 0.27.3
198
+ version: '0.28'
205
199
  - !ruby/object:Gem::Dependency
206
200
  name: avm-eac_webapp_base0
207
201
  requirement: !ruby/object:Gem::Requirement
@@ -623,6 +617,7 @@ files:
623
617
  - sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/incompatible_parser/version_requirement.rb
624
618
  - sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/file_formats.rb
625
619
  - sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/file_formats/base.rb
620
+ - sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/file_formats/base/file_resource_name.rb
626
621
  - sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/launcher.rb
627
622
  - sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/launcher/gem.rb
628
623
  - sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/launcher/gem/build.rb
@@ -1131,6 +1126,7 @@ files:
1131
1126
  - sub/avm/lib/avm/rspec/setup.rb
1132
1127
  - sub/avm/lib/avm/rspec/setup/launcher.rb
1133
1128
  - sub/avm/lib/avm/rspec/setup/source_generator.rb
1129
+ - sub/avm/lib/avm/rspec/shared_examples/avm_file_format_file_resource_name.rb
1134
1130
  - sub/avm/lib/avm/rspec/shared_examples/avm_file_formats_with_fixtures.rb
1135
1131
  - sub/avm/lib/avm/rspec/shared_examples/avm_source_generated.rb
1136
1132
  - sub/avm/lib/avm/rspec/shared_examples/entries_values.rb
@@ -1140,7 +1136,6 @@ files:
1140
1136
  - sub/avm/lib/avm/scms.rb
1141
1137
  - sub/avm/lib/avm/scms/auto_commit.rb
1142
1138
  - sub/avm/lib/avm/scms/auto_commit/file_resource_name.rb
1143
- - sub/avm/lib/avm/scms/auto_commit/file_resource_name/ruby.rb
1144
1139
  - sub/avm/lib/avm/scms/auto_commit/for_file.rb
1145
1140
  - sub/avm/lib/avm/scms/auto_commit/rules.rb
1146
1141
  - sub/avm/lib/avm/scms/auto_commit/rules/base.rb
@@ -1192,6 +1187,7 @@ files:
1192
1187
  - sub/avm/lib/avm/with/extra_subcommands.rb
1193
1188
  - sub/avm/spec/lib/avm/applications/base_spec.rb
1194
1189
  - sub/avm/spec/lib/avm/applications/base_spec_fixture.yml
1190
+ - sub/avm/spec/lib/avm/file_formats/base_spec.rb
1195
1191
  - sub/avm/spec/lib/avm/instances/base_spec.rb
1196
1192
  - sub/avm/spec/lib/avm/instances/base_spec_files/config.yml
1197
1193
  - sub/avm/spec/lib/avm/launcher/instances/base_spec.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