eac_ruby_utils 0.69.1 → 0.70.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:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 1d2cf379e2415d60c830cd336cd7e7f10defe243a844de933dfd260aea4c6170
|
|
4
|
+
data.tar.gz: de772d11fa31b9506914471b46a2fcba0c92f1c8c3d4fb5f0bd1f3127273e2af
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 87b220b118861f20ab93b700bbda9e0fef1992021f2ea9a1f33774650522947e925173302a959b612f1f0a4ab877347605c491638dea2f55634ad093f936670b
|
|
7
|
+
data.tar.gz: 49a65d53ee272fe9089c4944b7b115177ceac7a282bdc66fc13ecc689a1925cadc04d6cb62457b13193ed995405640617e9c65ed06f83d2368cd0494b30de4b0
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'rubygems'
|
|
4
|
+
require 'eac_ruby_utils/gems_registry/gem'
|
|
5
|
+
|
|
6
|
+
module EacRubyUtils
|
|
7
|
+
# Search in each gem for a class determined by registry and run the method "register" on each
|
|
8
|
+
# found.
|
|
9
|
+
#
|
|
10
|
+
# Example:
|
|
11
|
+
# * The module suffix is `TheClass`;
|
|
12
|
+
# * A gem with name "my-lib" is being analyzed
|
|
13
|
+
# * If a require for "my/lib/the_class" is succesful the class/module `My::Lib::TheClass` will
|
|
14
|
+
# be collected.
|
|
15
|
+
class GemsRegistry
|
|
16
|
+
attr_reader :module_suffix
|
|
17
|
+
|
|
18
|
+
def initialize(module_suffix)
|
|
19
|
+
@module_suffix = module_suffix
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
# @return [Array<EacRubyUtils::GemsRegistry::Gem>]
|
|
23
|
+
def registered
|
|
24
|
+
@registered ||= all_gems.select(&:found?)
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
private
|
|
28
|
+
|
|
29
|
+
# @return [Array<EacRubyUtils::GemsRegistry::Gem>]
|
|
30
|
+
def all_gems
|
|
31
|
+
::Gem::Specification.map do |gemspec|
|
|
32
|
+
::EacRubyUtils::GemsRegistry::Gem.new(self, gemspec)
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'active_support/core_ext/string/inflections'
|
|
4
|
+
|
|
5
|
+
module EacRubyUtils
|
|
6
|
+
class GemsRegistry
|
|
7
|
+
class Gem
|
|
8
|
+
attr_reader :registry, :gemspec
|
|
9
|
+
|
|
10
|
+
def initialize(registry, gemspec)
|
|
11
|
+
@registry = registry
|
|
12
|
+
@gemspec = gemspec
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def found?
|
|
16
|
+
lib_file_found? && registered_module.is_a?(::Module)
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
def lib_file_found?
|
|
20
|
+
gemspec.require_paths.any? do |require_path|
|
|
21
|
+
::Pathname.new(require_path).expand_path(gemspec.gem_dir).join(path_to_require + '.rb')
|
|
22
|
+
.file?
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def registered_module
|
|
27
|
+
return nil unless lib_file_found?
|
|
28
|
+
|
|
29
|
+
require path_to_require
|
|
30
|
+
path_to_require.classify.constantize
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
# @return [String]
|
|
34
|
+
def path_to_require
|
|
35
|
+
gemspec.name.gsub('-', '/') + '/' + registry.module_suffix.underscore
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'eac_ruby_utils/rspec/setup'
|
|
4
|
+
|
|
5
|
+
module EacRubyUtils
|
|
6
|
+
module Rspec
|
|
7
|
+
class << self
|
|
8
|
+
def default_setup
|
|
9
|
+
@default_setup ||
|
|
10
|
+
raise("Default instance was not set. Use #{self.class.name}.default_setup_create")
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def default_setup_create(app_root_path, rspec_config = nil)
|
|
14
|
+
@default_setup = ::EacRubyUtils::Rspec::Setup.create(app_root_path, rspec_config)
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'eac_ruby_utils/gems_registry'
|
|
4
|
+
require 'eac_ruby_utils/patches/object/if_respond'
|
|
5
|
+
require 'eac_ruby_utils/patches/object/to_pathname'
|
|
6
|
+
|
|
7
|
+
module EacRubyUtils
|
|
8
|
+
module Rspec
|
|
9
|
+
class Setup
|
|
10
|
+
GEMS_REGISTRY_SUFFIX = 'Rspec::SetupInclude'
|
|
11
|
+
|
|
12
|
+
class << self
|
|
13
|
+
def create(app_root_path, rspec_config = nil)
|
|
14
|
+
if rspec_config
|
|
15
|
+
new(app_root_path, rspec_config)
|
|
16
|
+
else
|
|
17
|
+
::RSpec.configure { |new_rspec_config| new(app_root_path, new_rspec_config) }
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
attr_reader :app_root_path, :rspec_config
|
|
23
|
+
|
|
24
|
+
def initialize(app_root_path, rspec_config)
|
|
25
|
+
@app_root_path = app_root_path.to_pathname
|
|
26
|
+
@rspec_config = rspec_config
|
|
27
|
+
include_registry
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
# @return [EacRubyUtils::GemsRegistry]
|
|
31
|
+
def gems_registry
|
|
32
|
+
@gems_registry ||= ::EacRubyUtils::GemsRegistry.new(GEMS_REGISTRY_SUFFIX)
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
protected
|
|
36
|
+
|
|
37
|
+
def include_registry
|
|
38
|
+
gems_registry.registered.each do |gem|
|
|
39
|
+
singleton_class.include(gem.registered_module)
|
|
40
|
+
gem.registered_module.setup(self) if gem.registered_module.respond_to?(:setup)
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: eac_ruby_utils
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.70.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Esquilo Azul Company
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2021-07-
|
|
11
|
+
date: 2021-07-25 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: activesupport
|
|
@@ -72,14 +72,14 @@ dependencies:
|
|
|
72
72
|
requirements:
|
|
73
73
|
- - "~>"
|
|
74
74
|
- !ruby/object:Gem::Version
|
|
75
|
-
version: '0.
|
|
75
|
+
version: '0.3'
|
|
76
76
|
type: :development
|
|
77
77
|
prerelease: false
|
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
|
79
79
|
requirements:
|
|
80
80
|
- - "~>"
|
|
81
81
|
- !ruby/object:Gem::Version
|
|
82
|
-
version: '0.
|
|
82
|
+
version: '0.3'
|
|
83
83
|
description:
|
|
84
84
|
email:
|
|
85
85
|
executables: []
|
|
@@ -131,6 +131,8 @@ files:
|
|
|
131
131
|
- lib/eac_ruby_utils/fs/traversable.rb
|
|
132
132
|
- lib/eac_ruby_utils/fs/traverser.rb
|
|
133
133
|
- lib/eac_ruby_utils/fs_cache.rb
|
|
134
|
+
- lib/eac_ruby_utils/gems_registry.rb
|
|
135
|
+
- lib/eac_ruby_utils/gems_registry/gem.rb
|
|
134
136
|
- lib/eac_ruby_utils/immutable.rb
|
|
135
137
|
- lib/eac_ruby_utils/immutable/array_accessor.rb
|
|
136
138
|
- lib/eac_ruby_utils/immutable/base_accessor.rb
|
|
@@ -198,6 +200,8 @@ files:
|
|
|
198
200
|
- lib/eac_ruby_utils/require_sub.rb
|
|
199
201
|
- lib/eac_ruby_utils/rspec.rb
|
|
200
202
|
- lib/eac_ruby_utils/rspec/conditional.rb
|
|
203
|
+
- lib/eac_ruby_utils/rspec/default_setup.rb
|
|
204
|
+
- lib/eac_ruby_utils/rspec/setup.rb
|
|
201
205
|
- lib/eac_ruby_utils/rspec/stubbed_ssh.rb
|
|
202
206
|
- lib/eac_ruby_utils/ruby.rb
|
|
203
207
|
- lib/eac_ruby_utils/ruby/command.rb
|
|
@@ -230,7 +234,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
230
234
|
- !ruby/object:Gem::Version
|
|
231
235
|
version: '0'
|
|
232
236
|
requirements: []
|
|
233
|
-
rubygems_version: 3.
|
|
237
|
+
rubygems_version: 3.1.6
|
|
234
238
|
signing_key:
|
|
235
239
|
specification_version: 4
|
|
236
240
|
summary: Utilities for E.A.C.'s Ruby projects.
|