avm-eac_ruby_base1 0.27.2 → 0.28.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f11dd62d144a7666b0a42065b7a5f4d54fc94e16bd44980d22acff5a4af6f218
4
- data.tar.gz: 471bf39578dde1a0a588aca6f94ae9814f1126669409f48853db29f673444a0f
3
+ metadata.gz: 528b4c9afe3d1732fb9b88ebfd1c9aedfd25f540a872fbf17cfd9c52147c4fc1
4
+ data.tar.gz: 5adce83ae36cd6dea54f2cf8fd2725dfce1a059dcdc15775fac9be941434aa8b
5
5
  SHA512:
6
- metadata.gz: 04446c735b2a9bb122c860b86b5dea93b7b33fc4ca071dc131c45b6a3cee6aacdbfd82690e90752f0d4712174096632810459f6b3a5ad16962360ee151b2115f
7
- data.tar.gz: a4df4641656c0915ce2820123bbec58bf6a713b4b63101b0921095bc207d6b62aec565546c9dfdc3252dd67f358d1ca60819fcc22de3a11d0907043bd62558bb
6
+ metadata.gz: 2ca8b2f1a9949a46343f80f4427da3ab57605652cd4dc19857171175c10eedde43705467813869c134ba0101275d822b750931c850ba6fd8c286c0587ff79628
7
+ data.tar.gz: d5add89e15538295f879f7ed4d326c375fb4a7ff35bb92bac7ed9db9dad13fd34faa0e5668a2f09920ab682b6aaf0fad6310939509153b4eb4408b843a4865ca
@@ -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
 
@@ -1,10 +1,10 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'curb'
4
3
  require 'json'
5
4
  require 'eac_ruby_utils/simple_cache'
6
5
  require 'rubygems'
7
6
  require 'eac_cli/speaker'
7
+ require 'aranha/parsers/source_address'
8
8
  require 'avm/launcher/publish/base'
9
9
  require 'avm/launcher/publish/check_result'
10
10
  require 'avm/eac_ruby_base1/launcher/gem'
@@ -98,11 +98,11 @@ module Avm
98
98
  end
99
99
 
100
100
  def gem_versions_uncached
101
- http = Curl.get("https://rubygems.org/api/v1/versions/#{gem_spec.name}.json")
102
- return JSON.parse!(http.body_str) if /\A2/ =~ http.status
103
- return [] if /\A4/ =~ http.status
104
-
105
- raise "#{http} code error: #{http.status}"
101
+ ::JSON.parse!(
102
+ ::Aranha::Parsers::SourceAddress.detect_sub(
103
+ "https://rubygems.org/api/v1/versions/#{gem_spec.name}.json"
104
+ ).content
105
+ )
106
106
  end
107
107
 
108
108
  def gem_version_max_uncached
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Avm
4
4
  module EacRubyBase1
5
- VERSION = '0.27.2'
5
+ VERSION = '0.28.0'
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: avm-eac_ruby_base1
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.27.2
4
+ version: 0.28.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: 2022-12-06 00:00:00.000000000 Z
11
+ date: 2023-01-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: avm
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0.56'
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.56'
26
+ version: '0.60'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: avm-eac_generic_base0
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -44,20 +44,20 @@ dependencies:
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '0.107'
47
+ version: '0.110'
48
48
  - - ">="
49
49
  - !ruby/object:Gem::Version
50
- version: 0.107.1
50
+ version: 0.110.1
51
51
  type: :runtime
52
52
  prerelease: false
53
53
  version_requirements: !ruby/object:Gem::Requirement
54
54
  requirements:
55
55
  - - "~>"
56
56
  - !ruby/object:Gem::Version
57
- version: '0.107'
57
+ version: '0.110'
58
58
  - - ">="
59
59
  - !ruby/object:Gem::Version
60
- version: 0.107.1
60
+ version: 0.110.1
61
61
  - !ruby/object:Gem::Dependency
62
62
  name: aranha-parsers
63
63
  requirement: !ruby/object:Gem::Requirement
@@ -113,6 +113,7 @@ files:
113
113
  - lib/avm/eac_ruby_base1/bundler/incompatible_parser/version_requirement.rb
114
114
  - lib/avm/eac_ruby_base1/file_formats.rb
115
115
  - lib/avm/eac_ruby_base1/file_formats/base.rb
116
+ - lib/avm/eac_ruby_base1/file_formats/base/file_resource_name.rb
116
117
  - lib/avm/eac_ruby_base1/launcher.rb
117
118
  - lib/avm/eac_ruby_base1/launcher/gem.rb
118
119
  - lib/avm/eac_ruby_base1/launcher/gem/build.rb