ehbrs_ruby_utils 0.42.0 → 0.43.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: d257573a9117902808e20c43bf002671f832d16cc40bf676cfb46282435b22f5
4
- data.tar.gz: fa5b446750faae117f1902457683b1b46599f85e64d40b7402451433d007d861
3
+ metadata.gz: d49474096e476f03b1771e1da9b08054fa00d5a5daa095735d03bbab244c36b3
4
+ data.tar.gz: 59f7d23319c7666b9751f2008b2c72fac3a4967a3c35f3988452f9c150450256
5
5
  SHA512:
6
- metadata.gz: 2f5dbbbcffc5213abb54303cc9272e3875f40ba4f80c759298c6ba4d6677e806862b5a221a26fd487f45c26c02f7075decbf1251b424dd15a28ab186c35d9d5c
7
- data.tar.gz: dd456900169ed432a7c2b3aaef91ab93fff318b098eddcade488b5877df89b9babdeb45ec1336eadeb2ecde18d80a1c1b7011a5fa56952ed6427e60f3aab41ea
6
+ metadata.gz: 98094f7b4340f323ad143a14f21c7ac6f7bb453d9647b3d55efbb0b4c567e4351d52fcbbb3ebd71a9e92a72a78debae83badf0eeffae02e2739c9993191ff07f
7
+ data.tar.gz: c2e6242a13bf62cf5681107be0741caef823569196cf71809f79be4e1e865c2525bf0bf6f99d8ec959c43c350a7bcb0ad6676ab9b23233e31f2a8f97bd7fe126
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module EhbrsRubyUtils
4
- VERSION = '0.42.0'
4
+ VERSION = '0.43.0'
5
5
  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.42.0
4
+ version: 0.43.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: 2024-05-15 00:00:00.000000000 Z
11
+ date: 2024-05-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aranha
@@ -334,11 +334,6 @@ files:
334
334
  - lib/ehbrs_ruby_utils/music/ous/category.rb
335
335
  - lib/ehbrs_ruby_utils/music/ous/node.rb
336
336
  - lib/ehbrs_ruby_utils/music/sort.rb
337
- - lib/ehbrs_ruby_utils/music/sort/commands.rb
338
- - lib/ehbrs_ruby_utils/music/sort/commands/base.rb
339
- - lib/ehbrs_ruby_utils/music/sort/commands/dump.rb
340
- - lib/ehbrs_ruby_utils/music/sort/commands/load.rb
341
- - lib/ehbrs_ruby_utils/music/sort/commands/shuffle.rb
342
337
  - lib/ehbrs_ruby_utils/music/sort/files.rb
343
338
  - lib/ehbrs_ruby_utils/music/sort/files/base.rb
344
339
  - lib/ehbrs_ruby_utils/music/sort/files/factory.rb
@@ -1,31 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'ehbrs_ruby_utils/core_ext'
4
- require 'ehbrs_ruby_utils/music/sort/files/scanner'
5
-
6
- module EhbrsRubyUtils
7
- module Music
8
- module Sort
9
- module Commands
10
- class Base
11
- enable_speaker
12
- enable_simple_cache
13
- common_constructor :root, :confirm do
14
- self.root = root.to_pathname
15
- run
16
- end
17
-
18
- private
19
-
20
- def config_file
21
- scanner.config_file
22
- end
23
-
24
- def scanner_uncached
25
- ::EhbrsRubyUtils::Music::Sort::Files::Scanner.new(root)
26
- end
27
- end
28
- end
29
- end
30
- end
31
- end
@@ -1,67 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'ehbrs_ruby_utils/core_ext'
4
- require 'ehbrs_ruby_utils/music/sort/commands/base'
5
- require 'ehbrs_ruby_utils/music/sort/files/base'
6
- require 'ehbrs_ruby_utils/music/sort/files/factory'
7
-
8
- module EhbrsRubyUtils
9
- module Music
10
- module Sort
11
- module Commands
12
- class Dump < EhbrsRubyUtils::Music::Sort::Commands::Base
13
- private
14
-
15
- def run
16
- if File.exist?(config_file)
17
- @config = YAML.load_file(config_file)
18
- to_rename.each { |sf| rename(sf) }
19
- else
20
- fatal_error("File \"#{config_file}\" does not exist")
21
- end
22
- end
23
-
24
- def to_rename
25
- r = []
26
- ::EhbrsRubyUtils::Music::Sort::Files::Factory::SECTIONS.each do |section|
27
- i = 1
28
- (@config[section] || []).each do |name|
29
- r << ::EhbrsRubyUtils::Music::Sort::Files::Base.new(section, i, name, nil)
30
- i += 1
31
- end
32
- end
33
- r
34
- end
35
-
36
- def rename(source_file)
37
- o = scanner.search(source_file.name)
38
- if o
39
- rename_on_found(source_file, o)
40
- else
41
- warn("File not found for \"#{source_file}\"")
42
- end
43
- end
44
-
45
- def rename_on_found(source_file, sorted_file)
46
- o = sorted_file.reorder(source_file.section, source_file.order, order_padding)
47
- info("\"#{o.source_basename}\" => \"#{o.target_basename}\"")
48
- confirm_rename(o.source_basename, o.target_basename) if confirm
49
- end
50
-
51
- def confirm_rename(old_basename, new_basename)
52
- op = File.expand_path(old_basename, root)
53
- np = File.expand_path(new_basename, root)
54
- return if np == op
55
- raise "\"#{np}\" (From \"#{op}\") already exists" if File.exist?(np)
56
-
57
- File.rename(op, np)
58
- end
59
-
60
- def order_padding_uncached
61
- scanner.count.to_s.length
62
- end
63
- end
64
- end
65
- end
66
- end
67
- end
@@ -1,36 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'ehbrs_ruby_utils/core_ext'
4
- require 'ehbrs_ruby_utils/music/sort/commands/base'
5
-
6
- module EhbrsRubyUtils
7
- module Music
8
- module Sort
9
- module Commands
10
- class Load < EhbrsRubyUtils::Music::Sort::Commands::Base
11
- private
12
-
13
- def run
14
- info "Reading \"#{root}\"..."
15
- config = build_config
16
- s = config.to_yaml
17
- puts s
18
- if confirm
19
- info("Writing to \"#{config_file}\"...")
20
- File.write(config_file, s)
21
- end
22
- puts 'Done!'.green
23
- end
24
-
25
- def build_config
26
- config = {}
27
- scanner.by_section.each do |section, fs|
28
- config[section] = fs.sort.map(&:name)
29
- end
30
- config
31
- end
32
- end
33
- end
34
- end
35
- end
36
- end
@@ -1,55 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'ehbrs_ruby_utils/core_ext'
4
- require 'ehbrs_ruby_utils/music/sort/commands/base'
5
- require 'ehbrs_ruby_utils/music/sort/files/factory'
6
-
7
- module EhbrsRubyUtils
8
- module Music
9
- module Sort
10
- module Commands
11
- class Shuffle < EhbrsRubyUtils::Music::Sort::Commands::Base
12
- private
13
-
14
- def run
15
- if confirm
16
- load_last_shuffle
17
- else
18
- dump_last_shuffle
19
- end
20
- end
21
-
22
- def dump_last_shuffle
23
- s = build_config.to_yaml
24
- puts s
25
- info("Writing to \"#{last_shuffle_file}\"...")
26
- File.write(last_shuffle_file, s)
27
- puts 'Done!'.green
28
- end
29
-
30
- def load_last_shuffle
31
- if File.exist?(last_shuffle_file)
32
- IO.copy_stream(last_shuffle_file, config_file)
33
- File.unlink(last_shuffle_file)
34
- puts 'Done!'.green
35
- else
36
- fatal_error "File \"#{last_shuffle_file}\" does not exist"
37
- end
38
- end
39
-
40
- def last_shuffle_file
41
- File.join(root, '.last_shuffle')
42
- end
43
-
44
- def build_config
45
- config = {}
46
- config[::EhbrsRubyUtils::Music::Sort::Files::Factory::SECTION_CURRENT] =
47
- scanner.all.to_a.shuffle.map(&:name)
48
- config[::EhbrsRubyUtils::Music::Sort::Files::Factory::SECTION_NEW] = []
49
- config
50
- end
51
- end
52
- end
53
- end
54
- end
55
- end
@@ -1,13 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'ehbrs_ruby_utils/core_ext'
4
-
5
- module EhbrsRubyUtils
6
- module Music
7
- module Sort
8
- module Commands
9
- require_sub __FILE__
10
- end
11
- end
12
- end
13
- end