ehbrs_ruby_utils 0.36.1 → 0.38.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: 50cae2381085d9ecdd71d98619b6c8cb7927ee977c1d856d604edddd56ccb39a
4
- data.tar.gz: 9ef89d0c3e2927f842c4f8d18e597470fb1452ae28b9d1efc975544375eb6761
3
+ metadata.gz: 375d67ec113f9773d1c7f89211884746357a5a56078b21d4f3dd0780385f87ac
4
+ data.tar.gz: fc600162f063b6c2bcd529876687422d62abcb2b663f0903f234b1724c7147a5
5
5
  SHA512:
6
- metadata.gz: b3cc8c03801f13eb8a7a4e729fe8a67d13102e667fe98c8997f1f71ad1d44e4621f59204a992fe0072b144e0f0b1b8400fc889550cd452cd5f2624f91329fb5d
7
- data.tar.gz: 3a965527bef8c654a67ce2f05b24ad40d6ef8ed4da58aa86543c591685c84e66871e874a5e92f6ab4288271db23befb46390dde3058a9bbb03175d5117956b84
6
+ metadata.gz: 3e5e2d657e5fec5a8938a70cb69616572dea93bfbce5b855f5e34f8b2d9d621a6cf0de651cec2420873fd437997e0ee146d67bcbffbcaf0f35df6174cb51c66b
7
+ data.tar.gz: c23ae3131b15e9f96d8b59072950b916e36e52b4cfdf60c32498becc377d666acaefcd7e6a82f91c693bdb33bf689a3248f78af0057c2482b87bc085449ed550
@@ -15,7 +15,10 @@ module EhbrsRubyUtils
15
15
  private
16
16
 
17
17
  {
18
- '-version' => %w[ffmpeg ffprobe]
18
+ '-?' => %w[rar],
19
+ '-h' => %w[unzip],
20
+ '-version' => %w[ffmpeg ffprobe],
21
+ '--version' => %w[isoinfo tar wit]
19
22
  }.each do |validate_arg, commands|
20
23
  commands.each do |command|
21
24
  define_method("#{command}_uncached") do
@@ -28,6 +31,12 @@ module EhbrsRubyUtils
28
31
  def mudslide_uncached
29
32
  env.executable('mudslide', exec_args: %w[npx mudslide@latest], check_args: %w[--version])
30
33
  end
34
+
35
+ # !method sevenzip
36
+ # @return [EacRubyUtils::Envs::Executable]
37
+ def sevenzip_uncached
38
+ env.executable('7z', '--help')
39
+ end
31
40
  end
32
41
  end
33
42
  end
@@ -2,6 +2,7 @@
2
2
 
3
3
  require 'eac_fs/file_info'
4
4
  require 'eac_ruby_utils/core_ext'
5
+ require 'ehbrs_ruby_utils/executables'
5
6
 
6
7
  module EhbrsRubyUtils
7
8
  module Fs
@@ -29,19 +30,19 @@ module EhbrsRubyUtils
29
30
  end
30
31
 
31
32
  def sevenzip_extract_command(target_dir)
32
- ::Ehbrs::Executables.sevenzip.command('x', path, '-o', target_dir)
33
+ ::EhbrsRubyUtils::Executables.sevenzip.command('x', path, '-o', target_dir)
33
34
  end
34
35
 
35
36
  def tar_extract_command(target_dir)
36
- ::Ehbrs::Executables.tar.command('-xf', path, '-C', target_dir)
37
+ ::EhbrsRubyUtils::Executables.tar.command('-xf', path, '-C', target_dir)
37
38
  end
38
39
 
39
40
  def rar_extract_command(target_dir)
40
- ::Ehbrs::Executables.rar.command('x', path.expand_path).chdir(target_dir)
41
+ ::EhbrsRubyUtils::Executables.rar.command('x', path.expand_path).chdir(target_dir)
41
42
  end
42
43
 
43
44
  def zip_extract_command(target_dir)
44
- ::Ehbrs::Executables.unzip.command(path, '-d', target_dir)
45
+ ::EhbrsRubyUtils::Executables.unzip.command(path, '-d', target_dir)
45
46
  end
46
47
  end
47
48
  end
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+ require 'ehbrs_ruby_utils/executables'
5
+
6
+ module EhbrsRubyUtils
7
+ module Fs
8
+ class Iso9660File
9
+ DEFAULT_EXTNAME = '.iso'
10
+
11
+ common_constructor :path do
12
+ self.path = path.to_pathname
13
+ end
14
+
15
+ # @return [Array<String>]
16
+ def list
17
+ isoinfo_command('-f').execute!.each_line
18
+ end
19
+
20
+ # @param command_args [Array<String>]
21
+ # @return [EacRubyUtils::Envs::Command]
22
+ def isoinfo_command(*command_args)
23
+ ::EacRubyUtils::Envs.local.command('isoinfo', '-i', path, *command_args)
24
+ end
25
+
26
+ # @return [Boolean]
27
+ def valid?
28
+ isoinfo_command.execute.fetch(:exit_code).zero?
29
+ end
30
+ end
31
+ end
32
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module EhbrsRubyUtils
4
- VERSION = '0.36.1'
4
+ VERSION = '0.38.0'
5
5
  end
@@ -0,0 +1,45 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+ require 'ehbrs_ruby_utils/fs/iso_9660_file'
5
+
6
+ module EhbrsRubyUtils
7
+ module Vg
8
+ module Ps2
9
+ class IsoFile < ::EhbrsRubyUtils::Fs::Iso9660File
10
+ CODE_PATTERN = /[a-zA-Z]{4}_[0-9]{3}\.[0-9]{2}/.freeze
11
+ CODE_PARSER = CODE_PATTERN.to_parser(&:to_s)
12
+
13
+ # @return [String]
14
+ def code
15
+ list.lazy.map { |line| CODE_PARSER.parse(line) }.find(&:present?)
16
+ end
17
+
18
+ # @return [String]
19
+ def basename_nocode_noext
20
+ path.basename_noext.to_path.gsub(/\A#{::Regexp.quote(code)}/, '')
21
+ end
22
+
23
+ # @return [Path]
24
+ def target_path
25
+ path.basename_sub do |_b|
26
+ "#{code}.#{path_basename}#{DEFAULT_EXTNAME}"
27
+ end
28
+ end
29
+
30
+ # @return [Boolean]
31
+ def valid?
32
+ super && code.present?
33
+ end
34
+
35
+ private
36
+
37
+ # @return [String]
38
+ def path_basename
39
+ path.basename_noext.to_path.gsub(/\A#{::Regexp.quote(code)}/, '')
40
+ .gsub(/[^0-9a-zA-Z]+/, '_').gsub(/\A_+/, '').gsub(/_+\z/, '')
41
+ end
42
+ end
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+
5
+ module EhbrsRubyUtils
6
+ module Vg
7
+ module Ps2
8
+ require_sub __FILE__
9
+ end
10
+ end
11
+ end
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'eac_ruby_utils/core_ext'
4
- require 'ehbrs/executables'
4
+ require 'ehbrs_ruby_utils/executables'
5
5
  require 'ehbrs_ruby_utils/vg/wii/wit/image_format'
6
6
  require 'ehbrs_ruby_utils/vg/wii/wit/path'
7
7
  require 'fileutils'
@@ -47,7 +47,7 @@ module EhbrsRubyUtils
47
47
  end
48
48
 
49
49
  def change_path_and_type
50
- ::Ehbrs::Executables.wit.command
50
+ ::EhbrsRubyUtils::Executables.wit.command
51
51
  .append(change_path_and_type_args)
52
52
  .system!
53
53
  check_target
@@ -61,7 +61,7 @@ module EhbrsRubyUtils
61
61
  end
62
62
 
63
63
  def change_type
64
- ::Ehbrs::Executables.wit.command
64
+ ::EhbrsRubyUtils::Executables.wit.command
65
65
  .append(change_type_args)
66
66
  .system!
67
67
  end
@@ -2,6 +2,7 @@
2
2
 
3
3
  require 'eac_ruby_utils/core_ext'
4
4
  require 'eac_ruby_utils/custom_format'
5
+ require 'ehbrs_ruby_utils/executables'
5
6
  require 'ehbrs_ruby_utils/vg/wii/wit/parsers/dump'
6
7
  require 'ehbrs_ruby_utils/vg/wii/wit/path'
7
8
  require 'pathname'
@@ -76,7 +77,7 @@ module EhbrsRubyUtils
76
77
  private
77
78
 
78
79
  def properties_uncached
79
- r = ::Ehbrs::Executables.wit.command.append(['dump', to_s]).execute
80
+ r = ::EhbrsRubyUtils::Executables.wit.command.append(['dump', to_s]).execute
80
81
  return nil unless r.fetch(:exit_code).zero?
81
82
 
82
83
  ::EhbrsRubyUtils::Vg::Wii::Wit::Parsers::Dump.new(r.fetch(:stdout)).properties
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'eac_ruby_utils/core_ext'
4
- require 'ehbrs/executables'
4
+ require 'ehbrs_ruby_utils/executables'
5
5
  require 'ehbrs_ruby_utils/vg/wii/wit/parsers/info'
6
6
 
7
7
  module EhbrsRubyUtils
@@ -33,7 +33,7 @@ module EhbrsRubyUtils
33
33
  end
34
34
 
35
35
  def info_output
36
- ::Ehbrs::Executables.wit.command
36
+ ::EhbrsRubyUtils::Executables.wit.command
37
37
  .append(%w[info image-format --sections])
38
38
  .execute!
39
39
  end
@@ -1,8 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'eac_ruby_utils/core_ext'
4
- require 'ehbrs/executables'
5
- require 'fileutils'
6
4
  require 'inifile'
7
5
 
8
6
  module EhbrsRubyUtils
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.36.1
4
+ version: 0.38.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: 2023-10-31 00:00:00.000000000 Z
11
+ date: 2023-11-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aranha
@@ -36,14 +36,14 @@ dependencies:
36
36
  requirements:
37
37
  - - "~>"
38
38
  - !ruby/object:Gem::Version
39
- version: '0.21'
39
+ version: '0.22'
40
40
  type: :runtime
41
41
  prerelease: false
42
42
  version_requirements: !ruby/object:Gem::Requirement
43
43
  requirements:
44
44
  - - "~>"
45
45
  - !ruby/object:Gem::Version
46
- version: '0.21'
46
+ version: '0.22'
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: aranha-selenium
49
49
  requirement: !ruby/object:Gem::Requirement
@@ -64,14 +64,20 @@ dependencies:
64
64
  requirements:
65
65
  - - "~>"
66
66
  - !ruby/object:Gem::Version
67
- version: '0.80'
67
+ version: '0.84'
68
+ - - ">="
69
+ - !ruby/object:Gem::Version
70
+ version: 0.84.2
68
71
  type: :runtime
69
72
  prerelease: false
70
73
  version_requirements: !ruby/object:Gem::Requirement
71
74
  requirements:
72
75
  - - "~>"
73
76
  - !ruby/object:Gem::Version
74
- version: '0.80'
77
+ version: '0.84'
78
+ - - ">="
79
+ - !ruby/object:Gem::Version
80
+ version: 0.84.2
75
81
  - !ruby/object:Gem::Dependency
76
82
  name: dentaku
77
83
  requirement: !ruby/object:Gem::Requirement
@@ -126,20 +132,14 @@ dependencies:
126
132
  requirements:
127
133
  - - "~>"
128
134
  - !ruby/object:Gem::Version
129
- version: '0.119'
130
- - - ">="
131
- - !ruby/object:Gem::Version
132
- version: 0.119.2
135
+ version: '0.120'
133
136
  type: :runtime
134
137
  prerelease: false
135
138
  version_requirements: !ruby/object:Gem::Requirement
136
139
  requirements:
137
140
  - - "~>"
138
141
  - !ruby/object:Gem::Version
139
- version: '0.119'
140
- - - ">="
141
- - !ruby/object:Gem::Version
142
- version: 0.119.2
142
+ version: '0.120'
143
143
  - !ruby/object:Gem::Dependency
144
144
  name: eac_templates
145
145
  requirement: !ruby/object:Gem::Requirement
@@ -154,6 +154,20 @@ dependencies:
154
154
  - - "~>"
155
155
  - !ruby/object:Gem::Version
156
156
  version: '0.5'
157
+ - !ruby/object:Gem::Dependency
158
+ name: inifile
159
+ requirement: !ruby/object:Gem::Requirement
160
+ requirements:
161
+ - - "~>"
162
+ - !ruby/object:Gem::Version
163
+ version: '3.0'
164
+ type: :runtime
165
+ prerelease: false
166
+ version_requirements: !ruby/object:Gem::Requirement
167
+ requirements:
168
+ - - "~>"
169
+ - !ruby/object:Gem::Version
170
+ version: '3.0'
157
171
  - !ruby/object:Gem::Dependency
158
172
  name: srt
159
173
  requirement: !ruby/object:Gem::Requirement
@@ -214,40 +228,20 @@ dependencies:
214
228
  - - ">="
215
229
  - !ruby/object:Gem::Version
216
230
  version: 0.1.3
217
- - !ruby/object:Gem::Dependency
218
- name: aranha-parsers
219
- requirement: !ruby/object:Gem::Requirement
220
- requirements:
221
- - - "~>"
222
- - !ruby/object:Gem::Version
223
- version: '0.8'
224
- type: :development
225
- prerelease: false
226
- version_requirements: !ruby/object:Gem::Requirement
227
- requirements:
228
- - - "~>"
229
- - !ruby/object:Gem::Version
230
- version: '0.8'
231
231
  - !ruby/object:Gem::Dependency
232
232
  name: eac_ruby_gem_support
233
233
  requirement: !ruby/object:Gem::Requirement
234
234
  requirements:
235
235
  - - "~>"
236
236
  - !ruby/object:Gem::Version
237
- version: '0.8'
238
- - - ">="
239
- - !ruby/object:Gem::Version
240
- version: 0.8.2
237
+ version: '0.9'
241
238
  type: :development
242
239
  prerelease: false
243
240
  version_requirements: !ruby/object:Gem::Requirement
244
241
  requirements:
245
242
  - - "~>"
246
243
  - !ruby/object:Gem::Version
247
- version: '0.8'
248
- - - ">="
249
- - !ruby/object:Gem::Version
250
- version: 0.8.2
244
+ version: '0.9'
251
245
  description:
252
246
  email:
253
247
  executables: []
@@ -306,6 +300,7 @@ files:
306
300
  - lib/ehbrs_ruby_utils/finances/bb_browser/docker_image.rb
307
301
  - lib/ehbrs_ruby_utils/fs.rb
308
302
  - lib/ehbrs_ruby_utils/fs/compressed_package.rb
303
+ - lib/ehbrs_ruby_utils/fs/iso_9660_file.rb
309
304
  - lib/ehbrs_ruby_utils/fs/selected.rb
310
305
  - lib/ehbrs_ruby_utils/fs/selected/build.rb
311
306
  - lib/ehbrs_ruby_utils/fs/selected/build_file.rb
@@ -330,6 +325,8 @@ files:
330
325
  - lib/ehbrs_ruby_utils/patches/object/template.rb
331
326
  - lib/ehbrs_ruby_utils/version.rb
332
327
  - lib/ehbrs_ruby_utils/vg.rb
328
+ - lib/ehbrs_ruby_utils/vg/ps2.rb
329
+ - lib/ehbrs_ruby_utils/vg/ps2/iso_file.rb
333
330
  - lib/ehbrs_ruby_utils/vg/wii.rb
334
331
  - lib/ehbrs_ruby_utils/vg/wii/file_move.rb
335
332
  - lib/ehbrs_ruby_utils/vg/wii/game_file.rb