ehbrs_ruby_utils 0.46.0 → 0.48.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: 6553b0cae92871af9a27244c6cccf904272cc958621e9e52e3e23d929d87a76c
4
- data.tar.gz: 98e3dc2bdcee178220796253db2d828acd1732baaff02d4283a729d51e3cb823
3
+ metadata.gz: ebec61b785ed456950261f5418bb18b0d558de05aa37eee5b9e2ccd2b4d0bdc5
4
+ data.tar.gz: 139e9df98da94bd12b07ba1073c0bc26749830e0f1465da6a905187023ff1e25
5
5
  SHA512:
6
- metadata.gz: acbe4a2a7b6f1a6b2418d6aa145ff064e1190e85f3b7e616a8895dd4246b7cd97f546a9afec0dc5d5cca1abba6e54eb9bff4230fdb504d9363352a434cd68868
7
- data.tar.gz: e58bc13aca373152f81272311d82bda41a55c2532d42ddf41b604e35958c784b95b55b0067b29953e3492b9b005ef48b56cde6fab80d88b5b5c0d3b072384dff
6
+ metadata.gz: f15d5697ef438e51a95974590879e6f9eac5253c26be5249a3cdef2b4fdab9cc3ffd271d175d9134bbb599be118cf1b2996cb8a653adc9544e485ef4a57d6098
7
+ data.tar.gz: c3a2b6fd298729335d6143c27f3686cf6166e3063b165a17486e4718f0e532bf7a8eff5ffbe8f15c2652bcc63a30319943174e15320a84f79de4fddd161516ea
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module EhbrsRubyUtils
4
- VERSION = '0.46.0'
4
+ VERSION = '0.48.0'
5
5
  end
@@ -8,45 +8,50 @@ module EhbrsRubyUtils
8
8
  enable_simple_cache
9
9
  common_constructor :runner
10
10
 
11
- ROM_EXTNAMES = ['.nds'].freeze
12
- SAVE_EXTNAMES = ['.sav'].freeze
11
+ EXTNAMES = {
12
+ '.nds' => ::EhbrsRubyUtils::Vg::Nds::Organizer::RomFile,
13
+ '.pub' => ::EhbrsRubyUtils::Vg::Nds::Organizer::PubFile,
14
+ '.sav' => ::EhbrsRubyUtils::Vg::Nds::Organizer::SaveFile
15
+ }.freeze
13
16
 
14
17
  def add_file(path)
15
- if ROM_EXTNAMES.include?(path.extname)
16
- add_to_set(:rom, path)
17
- elsif SAVE_EXTNAMES.include?(path.extname)
18
- add_to_set(:save, path)
18
+ if EXTNAMES.key?(path.extname)
19
+ add_to_set(EXTNAMES.fetch(path.extname), path)
19
20
  else
20
21
  ::EhbrsRubyUtils::Vg::Nds::Organizer::BaseFile::ADD_ERROR_UNRECOGNIZED
21
22
  end
22
23
  end
23
24
 
24
25
  def find_rom(id)
25
- roms.find { |s| s.id == id }
26
+ file_set(::EhbrsRubyUtils::Vg::Nds::Organizer::RomFile).find { |s| s.id == id }
26
27
  end
27
28
 
28
29
  protected
29
30
 
30
31
  def add_to_set(type, path)
31
- set = send(type.to_s.pluralize)
32
- file = ::EhbrsRubyUtils::Vg::Nds::Organizer.const_get("#{type}_file".camelize)
33
- .new(self, path)
34
- return ::BaseFile::ADD_ERROR_DUPLICATED if set.include?(file)
32
+ set = file_set(type)
33
+ file = type.new(self, path)
34
+ if set.include?(file)
35
+ return ::EhbrsRubyUtils::Vg::Nds::Organizer::BaseFile::ADD_ERROR_DUPLICATED
36
+ end
35
37
 
36
38
  set.add(file)
37
39
  nil
38
40
  end
39
41
 
40
- def roms
41
- @roms ||= ::Set.new
42
+ def file_set(type)
43
+ file_sets[type] ||= ::Set.new
44
+ file_sets.fetch(type)
42
45
  end
43
46
 
44
- def saves
45
- @saves ||= ::Set.new
47
+ def file_sets
48
+ @sets ||= {}
49
+ @sets
46
50
  end
47
51
 
48
52
  def to_change_files_uncached
49
- (roms.to_a + saves.to_a).select(&:change?).sort_by { |f| [f.id, f.target_path] }
53
+ file_sets.values.flat_map(&:to_a).flat_map.select(&:change?)
54
+ .sort_by { |f| [f.id, f.target_path] }
50
55
  end
51
56
  end
52
57
  end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EhbrsRubyUtils
4
+ module Vg
5
+ module Nds
6
+ class Organizer
7
+ class PubFile < ::EhbrsRubyUtils::Vg::Nds::Organizer::BaseFile
8
+ protected
9
+
10
+ def target_path_uncached
11
+ file_manager.find_rom(id).if_present(source_path) do |v|
12
+ v.target_path.dirname.join(source_path.basename)
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -8,6 +8,8 @@ module EhbrsRubyUtils
8
8
  class Organizer
9
9
  enable_simple_cache
10
10
  common_constructor :runner
11
+ attr_reader :errors
12
+
11
13
  delegate :confirm?, :roms_root, :show?, to: :runner
12
14
 
13
15
  def add_files
@@ -27,7 +29,7 @@ module EhbrsRubyUtils
27
29
  runner.infom 'Cleaning empty directories?'
28
30
  return unless confirm?
29
31
 
30
- roms_root.children.each do |child|
32
+ roms_root.to_pathname.children.each do |child|
31
33
  ::EacFs::Utils.remove_empty_directories(child)
32
34
  end
33
35
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ehbrs_ruby_utils
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.46.0
4
+ version: 0.48.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eduardo H. Bogoni
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-01-08 00:00:00.000000000 Z
11
+ date: 2026-01-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aranha
@@ -375,6 +375,7 @@ files:
375
375
  - lib/ehbrs_ruby_utils/vg/nds/organizer.rb
376
376
  - lib/ehbrs_ruby_utils/vg/nds/organizer/base_file.rb
377
377
  - lib/ehbrs_ruby_utils/vg/nds/organizer/file_manager.rb
378
+ - lib/ehbrs_ruby_utils/vg/nds/organizer/pub_file.rb
378
379
  - lib/ehbrs_ruby_utils/vg/nds/organizer/rom_file.rb
379
380
  - lib/ehbrs_ruby_utils/vg/nds/organizer/save_file.rb
380
381
  - lib/ehbrs_ruby_utils/vg/patchers/applier_factory.rb