eac_ruby_utils 0.78.0 → 0.79.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: 04265a77c385833952f4e144e1384702799030c28add480973ac925d1042bde7
4
- data.tar.gz: bdb7856467fd1d77f75a468c2a2c3c292231a3387c40281da5325d098eda76cd
3
+ metadata.gz: e172525643a9ed06ab4af7d0e35f66eecb49c363d368abeabde1b9ecbff8a686
4
+ data.tar.gz: ecdf6f1fd26f286a0a71b74f2ba345cbeeb385017ea41b6475a09d2c42aeb54e
5
5
  SHA512:
6
- metadata.gz: 70556b9064c0cf84e202e3f65c2f172c60e79304263abe596a1d7ec7a46753f4f58f81565ebeeaa644035f5fbb45f12cb2a5158a3084cd3fac634a0448c1953d
7
- data.tar.gz: 9c664e92bcefc75aac89e85016c8b8007bd14a061e46409b5c4b20cb36b8a80707046cb16302a8b1b26bd154cbb28c09027599e7494839abc707b6fe531a65f3
6
+ metadata.gz: 8cb0d8299f65375a594790f37c06b126bd57e37f48ea30575c200fed283edad2f7e7ed4e6cb7a3de43a47fbb76cc775fd5955289f1287cc4a213cff1b3ade9db
7
+ data.tar.gz: 1aeea157e9b2c593421b498f6aca325a26d45e93e61c3f46bb344a6edc0805915e3b89bf8e9aaa3daeec7d148fb387d9e1b0e44f670d0add7bc8aad4263b6090
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module EacRubyUtils
4
- VERSION = '0.78.0'
4
+ VERSION = '0.79.0'
5
5
  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.78.0
4
+ version: 0.79.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-11-06 00:00:00.000000000 Z
11
+ date: 2021-11-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -134,8 +134,6 @@ files:
134
134
  - lib/eac_ruby_utils/fs/temp.rb
135
135
  - lib/eac_ruby_utils/fs/temp/directory.rb
136
136
  - lib/eac_ruby_utils/fs/temp/file.rb
137
- - lib/eac_ruby_utils/fs/traversable.rb
138
- - lib/eac_ruby_utils/fs/traverser.rb
139
137
  - lib/eac_ruby_utils/gems_registry.rb
140
138
  - lib/eac_ruby_utils/gems_registry/gem.rb
141
139
  - lib/eac_ruby_utils/immutable.rb
@@ -1,47 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_utils/fs/traverser'
4
-
5
- module EacRubyUtils
6
- module Fs
7
- module Traversable
8
- PROP_METHOD_PREFIX = 'traverser_'
9
- BOOLEAN_PROPS = %i[hidden_directories recursive sort].freeze
10
- PATH_PROPS = %i[check_directory check_file].freeze
11
-
12
- class << self
13
- def prop_method_name(prop)
14
- "#{PROP_METHOD_PREFIX}#{prop}"
15
- end
16
- end
17
-
18
- PATH_PROPS.each do |method|
19
- define_method(::EacRubyUtils::Fs::Traversable.prop_method_name(method)) do |_path|
20
- nil
21
- end
22
- end
23
-
24
- BOOLEAN_PROPS.each do |method|
25
- define_method(::EacRubyUtils::Fs::Traversable.prop_method_name(method)) do
26
- false
27
- end
28
-
29
- define_method("#{::EacRubyUtils::Fs::Traversable.prop_method_name(method)}?") do
30
- send(method_name)
31
- end
32
- end
33
-
34
- def traverser_check_path(path)
35
- traverser_new.check_path(path)
36
- end
37
-
38
- def traverser_new
39
- r = ::EacRubyUtils::Fs::Traverser.new
40
- (BOOLEAN_PROPS + PATH_PROPS).each do |prop|
41
- r.send("#{prop}=", method(::EacRubyUtils::Fs::Traversable.prop_method_name(prop)))
42
- end
43
- r
44
- end
45
- end
46
- end
47
- end
@@ -1,72 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module EacRubyUtils
4
- module Fs
5
- class Traverser
6
- attr_accessor :check_directory, :check_file, :recursive, :hidden_directories, :sort
7
-
8
- def check_path(path)
9
- path = ::Pathname.new(path.to_s) unless path.is_a?(::Pathname)
10
- internal_check_path(path, 0)
11
- end
12
-
13
- def hidden_directories?
14
- boolean_value(hidden_directories)
15
- end
16
-
17
- def recursive?
18
- boolean_value(recursive)
19
- end
20
-
21
- def sort?
22
- boolean_value(sort)
23
- end
24
-
25
- private
26
-
27
- def boolean_value(source_value)
28
- source_value = source_value.call if source_value.respond_to?(:call)
29
- source_value ? true : false
30
- end
31
-
32
- def each_child(dir, &block)
33
- if sort?
34
- dir.each_child.sort_by { |p| [p.to_s] }.each(&block)
35
- else
36
- dir.each_child(&block)
37
- end
38
- end
39
-
40
- def process_directory?(level)
41
- level.zero? || recursive?
42
- end
43
-
44
- def inner_check_directory(dir, level)
45
- return unless process_directory?(level)
46
-
47
- user_check_directory(dir)
48
- each_child(dir) do |e|
49
- next unless !e.basename.to_s.start_with?('.') || hidden_directories?
50
-
51
- internal_check_path(e, level + 1)
52
- end
53
- end
54
-
55
- def internal_check_path(path, level)
56
- if path.file?
57
- user_check_file(path)
58
- elsif path.directory?
59
- inner_check_directory(path, level)
60
- end
61
- end
62
-
63
- def user_check_file(path)
64
- check_file&.call(path)
65
- end
66
-
67
- def user_check_directory(path)
68
- check_directory&.call(path)
69
- end
70
- end
71
- end
72
- end