avm-eac_ruby_base1 0.27.2 → 0.28.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: 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