ehbrs_ruby_utils 0.32.0 → 0.33.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 +4 -4
- data/lib/ehbrs_ruby_utils/cooking_book/build/base_page.rb +42 -0
- data/lib/ehbrs_ruby_utils/cooking_book/build/index_page.rb +26 -0
- data/lib/ehbrs_ruby_utils/cooking_book/build/recipe_page.rb +26 -0
- data/lib/ehbrs_ruby_utils/cooking_book/build.rb +45 -0
- data/lib/ehbrs_ruby_utils/cooking_book/project.rb +31 -0
- data/lib/ehbrs_ruby_utils/cooking_book/recipe/ingredient.rb +21 -0
- data/lib/ehbrs_ruby_utils/cooking_book/recipe/measure.rb +60 -0
- data/lib/ehbrs_ruby_utils/cooking_book/recipe/part.rb +32 -0
- data/lib/ehbrs_ruby_utils/cooking_book/recipe.rb +37 -0
- data/lib/ehbrs_ruby_utils/cooking_book.rb +9 -0
- data/lib/ehbrs_ruby_utils/version.rb +1 -1
- data/lib/ehbrs_ruby_utils/vg/wii/file_move.rb +89 -0
- data/lib/ehbrs_ruby_utils/vg/wii/game_file.rb +87 -0
- data/lib/ehbrs_ruby_utils/vg/wii/wit/image_format.rb +47 -0
- data/lib/ehbrs_ruby_utils/vg/wii/wit/parsers/dump.rb +67 -0
- data/lib/ehbrs_ruby_utils/vg/wii/wit/parsers/info.rb +39 -0
- data/lib/ehbrs_ruby_utils/vg/wii/wit/path.rb +55 -0
- data/lib/ehbrs_ruby_utils/vg/wii/wit.rb +13 -0
- data/lib/ehbrs_ruby_utils/vg/wii.rb +11 -0
- data/lib/ehbrs_ruby_utils/vg.rb +9 -0
- data/spec/lib/ehbrs_ruby_utils/cooking_book/recipe/measure_spec.rb +21 -0
- data/spec/lib/ehbrs_ruby_utils/vg/wii/game_file_spec.rb +21 -0
- data/spec/lib/ehbrs_ruby_utils/vg/wii/wit/parsers/dump_spec.rb +11 -0
- data/spec/lib/ehbrs_ruby_utils/vg/wii/wit/parsers/dump_spec_files/pikmin2_R92P01_wia.source.witdump +27 -0
- data/spec/lib/ehbrs_ruby_utils/vg/wii/wit/parsers/dump_spec_files/pikmin2_R92P01_wia.target.yaml +22 -0
- data/spec/lib/ehbrs_ruby_utils/vg/wii/wit/parsers/dump_spec_files/pikmin2_pal_iso.source.witdump +28 -0
- data/spec/lib/ehbrs_ruby_utils/vg/wii/wit/parsers/dump_spec_files/pikmin2_pal_iso.target.yaml +21 -0
- data/spec/lib/ehbrs_ruby_utils/vg/wii/wit/parsers/dump_spec_files/resident_evil_code_veronica_disc2_iso.source.witdump +16 -0
- data/spec/lib/ehbrs_ruby_utils/vg/wii/wit/parsers/dump_spec_files/resident_evil_code_veronica_disc2_iso.target.yaml +19 -0
- data/spec/lib/ehbrs_ruby_utils/vg/wii/wit/parsers/dump_spec_files/super_mario_galaxy_wbfs.source.witdump +28 -0
- data/spec/lib/ehbrs_ruby_utils/vg/wii/wit/parsers/dump_spec_files/super_mario_galaxy_wbfs.target.yaml +23 -0
- data/spec/lib/ehbrs_ruby_utils/vg/wii/wit/path_spec.rb +33 -0
- metadata +100 -57
@@ -0,0 +1,55 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'eac_ruby_utils/core_ext'
|
4
|
+
|
5
|
+
module EhbrsRubyUtils
|
6
|
+
module Vg
|
7
|
+
module Wii
|
8
|
+
module Wit
|
9
|
+
class Path
|
10
|
+
WIT_PATH_PATTERN = /\A(?:([a-z0-9]+):)?(.+)\z/i.freeze
|
11
|
+
|
12
|
+
class << self
|
13
|
+
def assert(source)
|
14
|
+
source = parse(source) unless source.is_a?(self)
|
15
|
+
source
|
16
|
+
end
|
17
|
+
|
18
|
+
def parse(path)
|
19
|
+
WIT_PATH_PATTERN
|
20
|
+
.match(path)
|
21
|
+
.if_present { |m| new(m[1], m[2]) }
|
22
|
+
.if_blank { raise "\"#{WIT_PATH_PATTERN}\" does not match \"#{path}\"" }
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
common_constructor :type, :path do
|
27
|
+
self.type = type.to_s.upcase
|
28
|
+
self.path = ::Pathname.new(path.to_s)
|
29
|
+
end
|
30
|
+
|
31
|
+
def change?(other)
|
32
|
+
type_change?(other) || path_change?(other)
|
33
|
+
end
|
34
|
+
|
35
|
+
def path_change?(other)
|
36
|
+
path.expand_path.to_s != other.path.expand_path.to_s
|
37
|
+
end
|
38
|
+
|
39
|
+
def to_s
|
40
|
+
r = path.to_s
|
41
|
+
r = "#{type.to_s.upcase}:#{r}" if type.present?
|
42
|
+
r
|
43
|
+
end
|
44
|
+
|
45
|
+
def type_change?(other)
|
46
|
+
return false if other.type.blank?
|
47
|
+
return true if type.blank?
|
48
|
+
|
49
|
+
type != other.type
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'ehbrs_ruby_utils/cooking_book/recipe/measure'
|
4
|
+
|
5
|
+
RSpec.describe ::EhbrsRubyUtils::CookingBook::Recipe::Measure do
|
6
|
+
describe '#build'
|
7
|
+
{
|
8
|
+
'1.5 cup' => [1.5, nil, 'cup'],
|
9
|
+
'~' => [nil, nil, nil],
|
10
|
+
'2/ 3 u' => [2, 3, 'u'],
|
11
|
+
'4.5/7.8' => [4.5, 7.8, nil]
|
12
|
+
}.each do |source, expected|
|
13
|
+
context "when source is \"#{source}\"" do
|
14
|
+
let(:instance) { described_class.build(source) }
|
15
|
+
|
16
|
+
it { expect(instance.numerator).to eq(expected[0]) }
|
17
|
+
it { expect(instance.denominator).to eq(expected[1]) }
|
18
|
+
it { expect(instance.unit).to eq(expected[2]) }
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'ehbrs_ruby_utils/vg/wii/game_file'
|
4
|
+
|
5
|
+
RSpec.describe ::EhbrsRubyUtils::Vg::Wii::GameFile do
|
6
|
+
[['game.iso', 1, 'game'], ['disc1.iso', 1, 'game'], ['disc2.iso', 2, 'disc2'],
|
7
|
+
['Resident Evil - Code - Veronica X (USA) (Disc 1)', 1, 'game'],
|
8
|
+
['Resident Evil - Code - Veronica X (USA) (Disc 2)', 2, 'disc2']].each do |s|
|
9
|
+
context "when game file is #{s[0]}" do
|
10
|
+
let(:game_file) { described_class.new(s[0]) }
|
11
|
+
|
12
|
+
it "disc_number should be #{s[1]}" do
|
13
|
+
expect(game_file.disc_number).to eq(s[1])
|
14
|
+
end
|
15
|
+
|
16
|
+
it "nintendont_basename should be #{s[2]}" do
|
17
|
+
expect(game_file.nintendont_basename).to eq(s[2])
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'ehbrs_ruby_utils/vg/wii/wit/parsers/dump'
|
4
|
+
|
5
|
+
RSpec.describe ::EhbrsRubyUtils::Vg::Wii::Wit::Parsers::Dump do
|
6
|
+
include_examples 'source_target_fixtures', __FILE__
|
7
|
+
|
8
|
+
def source_data(source_file)
|
9
|
+
described_class.new(::File.read(source_file)).properties
|
10
|
+
end
|
11
|
+
end
|
data/spec/lib/ehbrs_ruby_utils/vg/wii/wit/parsers/dump_spec_files/pikmin2_R92P01_wia.source.witdump
ADDED
@@ -0,0 +1,27 @@
|
|
1
|
+
|
2
|
+
Dump of file /home/eduardo/storage/roms/wii/games_untested/Pikmin 2 - New Play Control_ [R92P01].wia
|
3
|
+
|
4
|
+
Real path: /mnt/storage/eduardo/roms/wii/games_untested/Pikmin 2 - New Play Control_ [R92P01].wia
|
5
|
+
Virtual size: 118240000/hex = 4699979776 = 4482 MiB
|
6
|
+
Scrubbed size: 7af30000/hex = 2062745600 = 1967 MiB, 43.9%, 62950*32K
|
7
|
+
WIA file size: 63d2da4e/hex = 1674762830 = 1597 MiB, 35.6%, 81.2%
|
8
|
+
File & disc type: WIA/WII (v1.00,LZMA2.7@100) & Wii
|
9
|
+
Disc & part IDs: disc=R92P01, ticket=R92P, tmd=R92P, boot=R92P01
|
10
|
+
Disc name: PIKMIN2 for Wii
|
11
|
+
DB title: Pikmin 2
|
12
|
+
ID Region: PAL [PAL ]
|
13
|
+
Region setting: 2 [Europe] / Jap=128 USA=128 ?=128 Eur=0,3,3,4,3,7 Kor=128
|
14
|
+
System version: 00000001-00000021 = IOS 0x21 = IOS 33
|
15
|
+
Partitions: 1 [encrypted, well signed]
|
16
|
+
Directories: 593
|
17
|
+
Files: 2376
|
18
|
+
|
19
|
+
1 partition table with 1 partition:
|
20
|
+
|
21
|
+
index type offset .. end off size/hex = size/dec = MiB status
|
22
|
+
----------------------------------------------------------------------------------------
|
23
|
+
0 part.tab 40020 .. 40028 8 = 8 1 partition
|
24
|
+
----------------------------------------------------------------------------------------
|
25
|
+
0.0 DATA 0 f800000 .. 1173c0000 107bc0000 = 4424728576 = 4220 enc,signed
|
26
|
+
----------------------------------------------------------------------------------------
|
27
|
+
|
data/spec/lib/ehbrs_ruby_utils/vg/wii/wit/parsers/dump_spec_files/pikmin2_R92P01_wia.target.yaml
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
---
|
2
|
+
Real path: "/mnt/storage/eduardo/roms/wii/games_untested/Pikmin 2 - New Play Control_
|
3
|
+
[R92P01].wia"
|
4
|
+
Virtual size: 118240000/hex = 4699979776 = 4482 MiB
|
5
|
+
Scrubbed size: 7af30000/hex = 2062745600 = 1967 MiB, 43.9%, 62950*32K
|
6
|
+
WIA file size: 63d2da4e/hex = 1674762830 = 1597 MiB, 35.6%, 81.2%
|
7
|
+
File & disc type/type: WIA
|
8
|
+
File & disc type/platform_acronym: WII
|
9
|
+
File & disc type/type_extra: v1.00,LZMA2.7@100
|
10
|
+
File & disc type/platform_name: Wii
|
11
|
+
Disc & part IDs/disc: R92P01
|
12
|
+
Disc & part IDs/ticket: R92P
|
13
|
+
Disc & part IDs/tmd: R92P
|
14
|
+
Disc & part IDs/boot: R92P01
|
15
|
+
Disc name: PIKMIN2 for Wii
|
16
|
+
DB title: Pikmin 2
|
17
|
+
ID Region: PAL [PAL ]
|
18
|
+
Region setting: 2 [Europe] / Jap=128 USA=128 ?=128 Eur=0,3,3,4,3,7 Kor=128
|
19
|
+
System version: 00000001-00000021 = IOS 0x21 = IOS 33
|
20
|
+
Partitions: 1 [encrypted, well signed]
|
21
|
+
Directories: '593'
|
22
|
+
Files: '2376'
|
data/spec/lib/ehbrs_ruby_utils/vg/wii/wit/parsers/dump_spec_files/pikmin2_pal_iso.source.witdump
ADDED
@@ -0,0 +1,28 @@
|
|
1
|
+
|
2
|
+
Dump of file pikmin2_pal.iso
|
3
|
+
|
4
|
+
Real path: /mnt/storage/eduardo/roms/wii/games_untested/pikmin2_pal.iso
|
5
|
+
ISO file size: 118240000/hex = 4699979776 = 4482 MiB
|
6
|
+
Scrubbed size: 85790000/hex = 2239299584 = 2136 MiB, 47.6%, 68338*32K
|
7
|
+
File & disc type: ISO/WII & Wii
|
8
|
+
Disc & part IDs: disc=R92P01, ticket=R92P, tmd=R92P, boot=R92P01
|
9
|
+
Disc name: PIKMIN2 for Wii
|
10
|
+
DB title: Pikmin 2
|
11
|
+
ID Region: PAL [PAL ]
|
12
|
+
Region setting: 2 [Europe] / Jap=128 USA=128 ?=128 Eur=0,3,3,4,3,7 Kor=128
|
13
|
+
System menu: v386 = 3.4E
|
14
|
+
System version: 00000001-00000021 = IOS 0x21 = IOS 33
|
15
|
+
Partitions: 2 [encrypted, well signed]
|
16
|
+
Directories: 598
|
17
|
+
Files: 2421
|
18
|
+
|
19
|
+
1 partition table with 2 partitions:
|
20
|
+
|
21
|
+
index type offset .. end off size/hex = size/dec = MiB status
|
22
|
+
----------------------------------------------------------------------------------------
|
23
|
+
0 part.tab 40020 .. 40030 10 = 16 2 partitions
|
24
|
+
----------------------------------------------------------------------------------------
|
25
|
+
0.0 UPDATE 1 50000 .. a8b8000 a868000 = 176586752 = 168 enc,signed
|
26
|
+
0.1 DATA 0 f800000 .. 1173c0000 107bc0000 = 4424728576 = 4220 enc,signed
|
27
|
+
----------------------------------------------------------------------------------------
|
28
|
+
|
@@ -0,0 +1,21 @@
|
|
1
|
+
---
|
2
|
+
Real path: "/mnt/storage/eduardo/roms/wii/games_untested/pikmin2_pal.iso"
|
3
|
+
ISO file size: 118240000/hex = 4699979776 = 4482 MiB
|
4
|
+
Scrubbed size: 85790000/hex = 2239299584 = 2136 MiB, 47.6%, 68338*32K
|
5
|
+
File & disc type/type: ISO
|
6
|
+
File & disc type/platform_acronym: WII
|
7
|
+
File & disc type/type_extra:
|
8
|
+
File & disc type/platform_name: Wii
|
9
|
+
Disc & part IDs/disc: R92P01
|
10
|
+
Disc & part IDs/ticket: R92P
|
11
|
+
Disc & part IDs/tmd: R92P
|
12
|
+
Disc & part IDs/boot: R92P01
|
13
|
+
Disc name: PIKMIN2 for Wii
|
14
|
+
DB title: Pikmin 2
|
15
|
+
ID Region: PAL [PAL ]
|
16
|
+
Region setting: 2 [Europe] / Jap=128 USA=128 ?=128 Eur=0,3,3,4,3,7 Kor=128
|
17
|
+
System menu: v386 = 3.4E
|
18
|
+
System version: 00000001-00000021 = IOS 0x21 = IOS 33
|
19
|
+
Partitions: 2 [encrypted, well signed]
|
20
|
+
Directories: '598'
|
21
|
+
Files: '2421'
|
@@ -0,0 +1,16 @@
|
|
1
|
+
|
2
|
+
Dump of file /home/eduardo/storage/roms/gc/RESIDENT EVIL CVX [GCDE08]/disc2.iso
|
3
|
+
|
4
|
+
Real path: /mnt/storage/eduardo/roms/wii/disk/games/RESIDENT EVIL CVX [GCDE08]/disc2.iso
|
5
|
+
ISO file size: 57058000/hex = 1459978240 = 1392 MiB
|
6
|
+
Scrubbed size: 4fcf8000/hex = 1338998784 = 1277 MiB, 91.7%, 40863*32K
|
7
|
+
File & disc type: ISO/GC & GameCube
|
8
|
+
Disc & part IDs: disc=GCDE08, ticket=...., tmd=-, boot=GCDE08
|
9
|
+
Disc name: RESIDENT EVIL CVX
|
10
|
+
DB title: Resident Evil Code: Veronica X
|
11
|
+
ID Region: NTSC/USA [USA ]
|
12
|
+
BI2 Region: 1 [USA]
|
13
|
+
Partitions: 1 []
|
14
|
+
Directories: 4
|
15
|
+
Files: 54
|
16
|
+
|
@@ -0,0 +1,19 @@
|
|
1
|
+
---
|
2
|
+
Real path: "/mnt/storage/eduardo/roms/wii/disk/games/RESIDENT EVIL CVX [GCDE08]/disc2.iso"
|
3
|
+
ISO file size: 57058000/hex = 1459978240 = 1392 MiB
|
4
|
+
Scrubbed size: 4fcf8000/hex = 1338998784 = 1277 MiB, 91.7%, 40863*32K
|
5
|
+
File & disc type/type: ISO
|
6
|
+
File & disc type/platform_acronym: GC
|
7
|
+
File & disc type/type_extra:
|
8
|
+
File & disc type/platform_name: GameCube
|
9
|
+
Disc & part IDs/disc: GCDE08
|
10
|
+
Disc & part IDs/ticket: "...."
|
11
|
+
Disc & part IDs/tmd: "-"
|
12
|
+
Disc & part IDs/boot: GCDE08
|
13
|
+
Disc name: RESIDENT EVIL CVX
|
14
|
+
DB title: 'Resident Evil Code: Veronica X'
|
15
|
+
ID Region: NTSC/USA [USA ]
|
16
|
+
BI2 Region: 1 [USA]
|
17
|
+
Partitions: 1 []
|
18
|
+
Directories: '4'
|
19
|
+
Files: '54'
|
@@ -0,0 +1,28 @@
|
|
1
|
+
|
2
|
+
Dump of file /home/eduardo/storage/roms/wii/disk/wbfs/SUPER MARIO GALAXY [RMGE01]/RMGE01.wbfs/#0
|
3
|
+
|
4
|
+
Real path: /mnt/storage/eduardo/roms/wii/disk/wbfs/SUPER MARIO GALAXY [RMGE01]/RMGE01.wbfs/#0
|
5
|
+
Virtual size: 118240000/hex = 4699979776 = 4482 MiB
|
6
|
+
Scrubbed size: d0b28000/hex = 3501359104 = 3339 MiB, 74.5%, 106853*32K
|
7
|
+
WBFS file size: d1200000/hex = 3508535296 = 3346 MiB, 74.7%, 100.2%
|
8
|
+
WBFS fragments: 1+0 = a ratio of 0.00 additional_fragments/GiB
|
9
|
+
File & disc type: WBFS/WII & Wii
|
10
|
+
Disc & part IDs: disc=RMGE01, ticket=RMGE, tmd=RMGE, boot=RMGE01, wbfs=RMGE01
|
11
|
+
Disc name: SUPER MARIO GALAXY
|
12
|
+
DB title: Super Mario Galaxy
|
13
|
+
ID Region: NTSC/USA [USA ]
|
14
|
+
Region setting: 1 [USA] / Jap=128 USA=6 ?=128 Eur=128,128,128,128,128,128 Kor=128
|
15
|
+
System version: 00000001-00000021 = IOS 0x21 = IOS 33
|
16
|
+
Partitions: 1 [encrypted, scrubbed, well signed]
|
17
|
+
Directories: 79
|
18
|
+
Files: 2383
|
19
|
+
|
20
|
+
1 partition table with 1 partition:
|
21
|
+
|
22
|
+
index type offset .. end off size/hex = size/dec = MiB status
|
23
|
+
----------------------------------------------------------------------------------------
|
24
|
+
0 part.tab 40020 .. 40028 8 = 8 1 partition
|
25
|
+
----------------------------------------------------------------------------------------
|
26
|
+
0.0 DATA 0 f800000 .. 1173c0000 107bc0000 = 4424728576 = 4220 enc,signed,scrub
|
27
|
+
----------------------------------------------------------------------------------------
|
28
|
+
|
@@ -0,0 +1,23 @@
|
|
1
|
+
---
|
2
|
+
Real path: "/mnt/storage/eduardo/roms/wii/disk/wbfs/SUPER MARIO GALAXY [RMGE01]/RMGE01.wbfs/#0"
|
3
|
+
Virtual size: 118240000/hex = 4699979776 = 4482 MiB
|
4
|
+
Scrubbed size: d0b28000/hex = 3501359104 = 3339 MiB, 74.5%, 106853*32K
|
5
|
+
WBFS file size: d1200000/hex = 3508535296 = 3346 MiB, 74.7%, 100.2%
|
6
|
+
WBFS fragments: 1+0 = a ratio of 0.00 additional_fragments/GiB
|
7
|
+
File & disc type/type: WBFS
|
8
|
+
File & disc type/platform_acronym: WII
|
9
|
+
File & disc type/type_extra:
|
10
|
+
File & disc type/platform_name: Wii
|
11
|
+
Disc & part IDs/disc: RMGE01
|
12
|
+
Disc & part IDs/ticket: RMGE
|
13
|
+
Disc & part IDs/tmd: RMGE
|
14
|
+
Disc & part IDs/boot: RMGE01
|
15
|
+
Disc & part IDs/wbfs: RMGE01
|
16
|
+
Disc name: SUPER MARIO GALAXY
|
17
|
+
DB title: Super Mario Galaxy
|
18
|
+
ID Region: NTSC/USA [USA ]
|
19
|
+
Region setting: 1 [USA] / Jap=128 USA=6 ?=128 Eur=128,128,128,128,128,128 Kor=128
|
20
|
+
System version: 00000001-00000021 = IOS 0x21 = IOS 33
|
21
|
+
Partitions: 1 [encrypted, scrubbed, well signed]
|
22
|
+
Directories: '79'
|
23
|
+
Files: '2383'
|
@@ -0,0 +1,33 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'ehbrs_ruby_utils/vg/wii/wit/path'
|
4
|
+
|
5
|
+
RSpec.describe ::EhbrsRubyUtils::Vg::Wii::Wit::Path do
|
6
|
+
describe '#parse' do
|
7
|
+
context 'when type is present' do
|
8
|
+
let(:source) { 'WbFs:path/to/file.wbfs' }
|
9
|
+
let(:instance) { described_class.parse(source) }
|
10
|
+
|
11
|
+
it { expect(instance.type).to eq('WBFS') }
|
12
|
+
it { expect(instance.path.to_s).to eq('path/to/file.wbfs') }
|
13
|
+
end
|
14
|
+
|
15
|
+
context 'when type is blank' do
|
16
|
+
let(:source) { 'path/to/file.wbfs' }
|
17
|
+
let(:instance) { described_class.parse(source) }
|
18
|
+
|
19
|
+
it { expect(instance.type).to eq('') }
|
20
|
+
it { expect(instance.path.to_s).to eq('path/to/file.wbfs') }
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
describe '#change?' do
|
25
|
+
let(:with_type) { described_class.new('ISO', 'path/to/file.wbfs') }
|
26
|
+
let(:without_type) { described_class.new(nil, 'path/to/file.wbfs') }
|
27
|
+
|
28
|
+
it { expect(with_type.change?(without_type)).to eq(false) }
|
29
|
+
it { expect(without_type.change?(with_type)).to eq(true) }
|
30
|
+
|
31
|
+
context 'when'
|
32
|
+
end
|
33
|
+
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.
|
4
|
+
version: 0.33.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-
|
11
|
+
date: 2023-10-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: aranha
|
@@ -64,14 +64,14 @@ dependencies:
|
|
64
64
|
requirements:
|
65
65
|
- - "~>"
|
66
66
|
- !ruby/object:Gem::Version
|
67
|
-
version: '0.
|
67
|
+
version: '0.79'
|
68
68
|
type: :runtime
|
69
69
|
prerelease: false
|
70
70
|
version_requirements: !ruby/object:Gem::Requirement
|
71
71
|
requirements:
|
72
72
|
- - "~>"
|
73
73
|
- !ruby/object:Gem::Version
|
74
|
-
version: '0.
|
74
|
+
version: '0.79'
|
75
75
|
- !ruby/object:Gem::Dependency
|
76
76
|
name: dentaku
|
77
77
|
requirement: !ruby/object:Gem::Requirement
|
@@ -112,34 +112,34 @@ dependencies:
|
|
112
112
|
requirements:
|
113
113
|
- - "~>"
|
114
114
|
- !ruby/object:Gem::Version
|
115
|
-
version: '0.
|
116
|
-
- - ">="
|
117
|
-
- !ruby/object:Gem::Version
|
118
|
-
version: 0.9.1
|
115
|
+
version: '0.10'
|
119
116
|
type: :runtime
|
120
117
|
prerelease: false
|
121
118
|
version_requirements: !ruby/object:Gem::Requirement
|
122
119
|
requirements:
|
123
120
|
- - "~>"
|
124
121
|
- !ruby/object:Gem::Version
|
125
|
-
version: '0.
|
126
|
-
- - ">="
|
127
|
-
- !ruby/object:Gem::Version
|
128
|
-
version: 0.9.1
|
122
|
+
version: '0.10'
|
129
123
|
- !ruby/object:Gem::Dependency
|
130
124
|
name: eac_ruby_utils
|
131
125
|
requirement: !ruby/object:Gem::Requirement
|
132
126
|
requirements:
|
133
127
|
- - "~>"
|
134
128
|
- !ruby/object:Gem::Version
|
135
|
-
version: '0.
|
129
|
+
version: '0.119'
|
130
|
+
- - ">="
|
131
|
+
- !ruby/object:Gem::Version
|
132
|
+
version: 0.119.2
|
136
133
|
type: :runtime
|
137
134
|
prerelease: false
|
138
135
|
version_requirements: !ruby/object:Gem::Requirement
|
139
136
|
requirements:
|
140
137
|
- - "~>"
|
141
138
|
- !ruby/object:Gem::Version
|
142
|
-
version: '0.
|
139
|
+
version: '0.119'
|
140
|
+
- - ">="
|
141
|
+
- !ruby/object:Gem::Version
|
142
|
+
version: 0.119.2
|
143
143
|
- !ruby/object:Gem::Dependency
|
144
144
|
name: eac_templates
|
145
145
|
requirement: !ruby/object:Gem::Requirement
|
@@ -267,6 +267,16 @@ files:
|
|
267
267
|
- lib/ehbrs_ruby_utils/circular_list_spreader/item_level.rb
|
268
268
|
- lib/ehbrs_ruby_utils/circular_list_spreader/list.rb
|
269
269
|
- lib/ehbrs_ruby_utils/circular_list_spreader/list/item_pair_spreadness.rb
|
270
|
+
- lib/ehbrs_ruby_utils/cooking_book.rb
|
271
|
+
- lib/ehbrs_ruby_utils/cooking_book/build.rb
|
272
|
+
- lib/ehbrs_ruby_utils/cooking_book/build/base_page.rb
|
273
|
+
- lib/ehbrs_ruby_utils/cooking_book/build/index_page.rb
|
274
|
+
- lib/ehbrs_ruby_utils/cooking_book/build/recipe_page.rb
|
275
|
+
- lib/ehbrs_ruby_utils/cooking_book/project.rb
|
276
|
+
- lib/ehbrs_ruby_utils/cooking_book/recipe.rb
|
277
|
+
- lib/ehbrs_ruby_utils/cooking_book/recipe/ingredient.rb
|
278
|
+
- lib/ehbrs_ruby_utils/cooking_book/recipe/measure.rb
|
279
|
+
- lib/ehbrs_ruby_utils/cooking_book/recipe/part.rb
|
270
280
|
- lib/ehbrs_ruby_utils/core_ext.rb
|
271
281
|
- lib/ehbrs_ruby_utils/executables.rb
|
272
282
|
- lib/ehbrs_ruby_utils/finances/bb_browser/docker_image.rb
|
@@ -292,6 +302,15 @@ files:
|
|
292
302
|
- lib/ehbrs_ruby_utils/patches/object.rb
|
293
303
|
- lib/ehbrs_ruby_utils/patches/object/template.rb
|
294
304
|
- lib/ehbrs_ruby_utils/version.rb
|
305
|
+
- lib/ehbrs_ruby_utils/vg.rb
|
306
|
+
- lib/ehbrs_ruby_utils/vg/wii.rb
|
307
|
+
- lib/ehbrs_ruby_utils/vg/wii/file_move.rb
|
308
|
+
- lib/ehbrs_ruby_utils/vg/wii/game_file.rb
|
309
|
+
- lib/ehbrs_ruby_utils/vg/wii/wit.rb
|
310
|
+
- lib/ehbrs_ruby_utils/vg/wii/wit/image_format.rb
|
311
|
+
- lib/ehbrs_ruby_utils/vg/wii/wit/parsers/dump.rb
|
312
|
+
- lib/ehbrs_ruby_utils/vg/wii/wit/parsers/info.rb
|
313
|
+
- lib/ehbrs_ruby_utils/vg/wii/wit/path.rb
|
295
314
|
- lib/ehbrs_ruby_utils/videos.rb
|
296
315
|
- lib/ehbrs_ruby_utils/videos/container.rb
|
297
316
|
- lib/ehbrs_ruby_utils/videos/convert_job.rb
|
@@ -371,6 +390,18 @@ files:
|
|
371
390
|
- spec/lib/ehbrs_ruby_utils/circular_list_spreader_spec_files/ehbrs_music1.target.yaml
|
372
391
|
- spec/lib/ehbrs_ruby_utils/circular_list_spreader_spec_files/minimum.source.yaml
|
373
392
|
- spec/lib/ehbrs_ruby_utils/circular_list_spreader_spec_files/minimum.target.yaml
|
393
|
+
- spec/lib/ehbrs_ruby_utils/cooking_book/recipe/measure_spec.rb
|
394
|
+
- spec/lib/ehbrs_ruby_utils/vg/wii/game_file_spec.rb
|
395
|
+
- spec/lib/ehbrs_ruby_utils/vg/wii/wit/parsers/dump_spec.rb
|
396
|
+
- spec/lib/ehbrs_ruby_utils/vg/wii/wit/parsers/dump_spec_files/pikmin2_R92P01_wia.source.witdump
|
397
|
+
- spec/lib/ehbrs_ruby_utils/vg/wii/wit/parsers/dump_spec_files/pikmin2_R92P01_wia.target.yaml
|
398
|
+
- spec/lib/ehbrs_ruby_utils/vg/wii/wit/parsers/dump_spec_files/pikmin2_pal_iso.source.witdump
|
399
|
+
- spec/lib/ehbrs_ruby_utils/vg/wii/wit/parsers/dump_spec_files/pikmin2_pal_iso.target.yaml
|
400
|
+
- spec/lib/ehbrs_ruby_utils/vg/wii/wit/parsers/dump_spec_files/resident_evil_code_veronica_disc2_iso.source.witdump
|
401
|
+
- spec/lib/ehbrs_ruby_utils/vg/wii/wit/parsers/dump_spec_files/resident_evil_code_veronica_disc2_iso.target.yaml
|
402
|
+
- spec/lib/ehbrs_ruby_utils/vg/wii/wit/parsers/dump_spec_files/super_mario_galaxy_wbfs.source.witdump
|
403
|
+
- spec/lib/ehbrs_ruby_utils/vg/wii/wit/parsers/dump_spec_files/super_mario_galaxy_wbfs.target.yaml
|
404
|
+
- spec/lib/ehbrs_ruby_utils/vg/wii/wit/path_spec.rb
|
374
405
|
- spec/lib/ehbrs_ruby_utils/videos/opensubtitles/parsers/episode_spec.rb
|
375
406
|
- spec/lib/ehbrs_ruby_utils/videos/opensubtitles/parsers/episode_spec_files/counterpart_s01e01.source.html
|
376
407
|
- spec/lib/ehbrs_ruby_utils/videos/opensubtitles/parsers/episode_spec_files/counterpart_s01e01.target.yaml
|
@@ -425,67 +456,79 @@ signing_key:
|
|
425
456
|
specification_version: 4
|
426
457
|
summary: Utilities for EHB/RS's Ruby projects.
|
427
458
|
test_files:
|
428
|
-
- spec/
|
459
|
+
- spec/spec_helper.rb
|
460
|
+
- spec/lib/ehbrs_ruby_utils/vg/wii/wit/path_spec.rb
|
461
|
+
- spec/lib/ehbrs_ruby_utils/vg/wii/wit/parsers/dump_spec.rb
|
462
|
+
- spec/lib/ehbrs_ruby_utils/vg/wii/wit/parsers/dump_spec_files/pikmin2_pal_iso.source.witdump
|
463
|
+
- spec/lib/ehbrs_ruby_utils/vg/wii/wit/parsers/dump_spec_files/resident_evil_code_veronica_disc2_iso.target.yaml
|
464
|
+
- spec/lib/ehbrs_ruby_utils/vg/wii/wit/parsers/dump_spec_files/pikmin2_pal_iso.target.yaml
|
465
|
+
- spec/lib/ehbrs_ruby_utils/vg/wii/wit/parsers/dump_spec_files/super_mario_galaxy_wbfs.target.yaml
|
466
|
+
- spec/lib/ehbrs_ruby_utils/vg/wii/wit/parsers/dump_spec_files/super_mario_galaxy_wbfs.source.witdump
|
467
|
+
- spec/lib/ehbrs_ruby_utils/vg/wii/wit/parsers/dump_spec_files/pikmin2_R92P01_wia.target.yaml
|
468
|
+
- spec/lib/ehbrs_ruby_utils/vg/wii/wit/parsers/dump_spec_files/resident_evil_code_veronica_disc2_iso.source.witdump
|
469
|
+
- spec/lib/ehbrs_ruby_utils/vg/wii/wit/parsers/dump_spec_files/pikmin2_R92P01_wia.source.witdump
|
470
|
+
- spec/lib/ehbrs_ruby_utils/vg/wii/game_file_spec.rb
|
471
|
+
- spec/lib/ehbrs_ruby_utils/cooking_book/recipe/measure_spec.rb
|
472
|
+
- spec/lib/ehbrs_ruby_utils/circular_list_spreader_spec.rb
|
473
|
+
- spec/lib/ehbrs_ruby_utils/videos/stream_spec_files/menina_ovo_attachment.target.yaml
|
474
|
+
- spec/lib/ehbrs_ruby_utils/videos/stream_spec_files/menina_ovo_subtitle.target.yaml
|
475
|
+
- spec/lib/ehbrs_ruby_utils/videos/stream_spec_files/menina_ovo_attachment.source.yaml
|
476
|
+
- spec/lib/ehbrs_ruby_utils/videos/stream_spec_files/menina_ovo_video.source.yaml
|
477
|
+
- spec/lib/ehbrs_ruby_utils/videos/stream_spec_files/menina_ovo_subtitle.source.yaml
|
478
|
+
- spec/lib/ehbrs_ruby_utils/videos/stream_spec_files/menina_ovo_video.target.yaml
|
479
|
+
- spec/lib/ehbrs_ruby_utils/videos/stream_spec_files/menina_ovo_audio.target.yaml
|
480
|
+
- spec/lib/ehbrs_ruby_utils/videos/stream_spec_files/menina_ovo_audio.source.yaml
|
481
|
+
- spec/lib/ehbrs_ruby_utils/videos/resolution_spec.rb
|
482
|
+
- spec/lib/ehbrs_ruby_utils/videos/opensubtitles/parsers/episode_spec.rb
|
483
|
+
- spec/lib/ehbrs_ruby_utils/videos/opensubtitles/parsers/title_spec.rb
|
484
|
+
- spec/lib/ehbrs_ruby_utils/videos/opensubtitles/parsers/episode_spec_files/counterpart_s01e01.target.yaml
|
485
|
+
- spec/lib/ehbrs_ruby_utils/videos/opensubtitles/parsers/episode_spec_files/wire-season-1-page-1.target.yaml
|
486
|
+
- spec/lib/ehbrs_ruby_utils/videos/opensubtitles/parsers/episode_spec_files/counterpart_s01e01.source.html
|
487
|
+
- spec/lib/ehbrs_ruby_utils/videos/opensubtitles/parsers/episode_spec_files/wire-season-1-page-1.source.html
|
488
|
+
- spec/lib/ehbrs_ruby_utils/videos/opensubtitles/parsers/title_spec_files/countepart.source.html
|
489
|
+
- spec/lib/ehbrs_ruby_utils/videos/opensubtitles/parsers/title_spec_files/countepart.target.yaml
|
490
|
+
- spec/lib/ehbrs_ruby_utils/videos/stream_spec.rb
|
429
491
|
- spec/lib/ehbrs_ruby_utils/bga/parsers/table_spec_files/table_308782287.target.yaml
|
430
492
|
- spec/lib/ehbrs_ruby_utils/bga/parsers/table_spec_files/table_383405743.target.yaml
|
431
|
-
- spec/lib/ehbrs_ruby_utils/bga/parsers/table_spec_files/table_356513708.target.yaml
|
432
|
-
- spec/lib/ehbrs_ruby_utils/bga/parsers/table_spec_files/table_302873643.target.yaml
|
433
493
|
- spec/lib/ehbrs_ruby_utils/bga/parsers/table_spec_files/table_368448439.target.yaml
|
434
|
-
- spec/lib/ehbrs_ruby_utils/bga/parsers/table_spec_files/table_368448439.source.html
|
435
|
-
- spec/lib/ehbrs_ruby_utils/bga/parsers/table_spec_files/table_357408039.source.html
|
436
494
|
- spec/lib/ehbrs_ruby_utils/bga/parsers/table_spec_files/table_383405743.source.html
|
437
495
|
- spec/lib/ehbrs_ruby_utils/bga/parsers/table_spec_files/table_356513708.source.html
|
496
|
+
- spec/lib/ehbrs_ruby_utils/bga/parsers/table_spec_files/table_357408039.source.html
|
497
|
+
- spec/lib/ehbrs_ruby_utils/bga/parsers/table_spec_files/table_356513708.target.yaml
|
498
|
+
- spec/lib/ehbrs_ruby_utils/bga/parsers/table_spec_files/table_373747455.target.yaml
|
499
|
+
- spec/lib/ehbrs_ruby_utils/bga/parsers/table_spec_files/table_302873643.target.yaml
|
438
500
|
- spec/lib/ehbrs_ruby_utils/bga/parsers/table_spec_files/table_373747455.source.html
|
439
|
-
- spec/lib/ehbrs_ruby_utils/bga/parsers/table_spec_files/table_373602409.source.html
|
440
|
-
- spec/lib/ehbrs_ruby_utils/bga/parsers/table_spec_files/table_373602409.target.yaml
|
441
501
|
- spec/lib/ehbrs_ruby_utils/bga/parsers/table_spec_files/table_302873643.source.html
|
442
|
-
- spec/lib/ehbrs_ruby_utils/bga/parsers/table_spec_files/
|
502
|
+
- spec/lib/ehbrs_ruby_utils/bga/parsers/table_spec_files/table_373602409.target.yaml
|
443
503
|
- spec/lib/ehbrs_ruby_utils/bga/parsers/table_spec_files/table_308782287.source.html
|
444
|
-
- spec/lib/ehbrs_ruby_utils/bga/parsers/table_spec_files/
|
445
|
-
- spec/lib/ehbrs_ruby_utils/bga/parsers/
|
446
|
-
- spec/lib/ehbrs_ruby_utils/bga/parsers/
|
504
|
+
- spec/lib/ehbrs_ruby_utils/bga/parsers/table_spec_files/table_368448439.source.html
|
505
|
+
- spec/lib/ehbrs_ruby_utils/bga/parsers/table_spec_files/table_373602409.source.html
|
506
|
+
- spec/lib/ehbrs_ruby_utils/bga/parsers/table_spec_files/table_357408039.target.yaml
|
447
507
|
- spec/lib/ehbrs_ruby_utils/bga/parsers/game_stats_spec_files/1.source.html
|
508
|
+
- spec/lib/ehbrs_ruby_utils/bga/parsers/game_stats_spec_files/2.target.yaml
|
448
509
|
- spec/lib/ehbrs_ruby_utils/bga/parsers/game_stats_spec_files/1.target.yaml
|
449
|
-
- spec/lib/ehbrs_ruby_utils/bga/parsers/
|
450
|
-
- spec/lib/ehbrs_ruby_utils/bga/parsers/table_spec.rb
|
451
|
-
- spec/lib/ehbrs_ruby_utils/bga/parsers/game_in_progress_spec_files/player_84920871_2023-06-12.source.html
|
510
|
+
- spec/lib/ehbrs_ruby_utils/bga/parsers/game_stats_spec_files/2.source.html
|
452
511
|
- spec/lib/ehbrs_ruby_utils/bga/parsers/game_in_progress_spec_files/player_93248308_2023-06-12.target.yaml
|
453
|
-
- spec/lib/ehbrs_ruby_utils/bga/parsers/game_in_progress_spec_files/
|
454
|
-
- spec/lib/ehbrs_ruby_utils/bga/parsers/game_in_progress_spec_files/
|
512
|
+
- spec/lib/ehbrs_ruby_utils/bga/parsers/game_in_progress_spec_files/player_84920871_2023-06-12.target.yaml
|
513
|
+
- spec/lib/ehbrs_ruby_utils/bga/parsers/game_in_progress_spec_files/player_84920871_2023-06-19.target.yaml
|
455
514
|
- spec/lib/ehbrs_ruby_utils/bga/parsers/game_in_progress_spec_files/player_84920871_2023-06-19.source.html
|
456
515
|
- spec/lib/ehbrs_ruby_utils/bga/parsers/game_in_progress_spec_files/player_93205235_2023-06-12.target.yaml
|
516
|
+
- spec/lib/ehbrs_ruby_utils/bga/parsers/game_in_progress_spec_files/player_93167144_2023-06-12.source.html
|
517
|
+
- spec/lib/ehbrs_ruby_utils/bga/parsers/game_in_progress_spec_files/player_84920871_2023-06-12.source.html
|
518
|
+
- spec/lib/ehbrs_ruby_utils/bga/parsers/game_in_progress_spec_files/player_93167144_2023-06-12.target.yaml
|
519
|
+
- spec/lib/ehbrs_ruby_utils/bga/parsers/game_in_progress_spec_files/player_93248308_2023-06-12.source.html
|
457
520
|
- spec/lib/ehbrs_ruby_utils/bga/parsers/game_in_progress_spec_files/player_93223573_2023-06-12.target.yaml
|
458
|
-
- spec/lib/ehbrs_ruby_utils/bga/parsers/game_in_progress_spec_files/player_93212034_2023-06-12.target.yaml
|
459
|
-
- spec/lib/ehbrs_ruby_utils/bga/parsers/game_in_progress_spec_files/player_93223573_2023-06-12.source.html
|
460
|
-
- spec/lib/ehbrs_ruby_utils/bga/parsers/game_in_progress_spec_files/player_84920871_2023-06-12.target.yaml
|
461
521
|
- spec/lib/ehbrs_ruby_utils/bga/parsers/game_in_progress_spec_files/player_93205235_2023-06-12.source.html
|
462
|
-
- spec/lib/ehbrs_ruby_utils/bga/parsers/game_in_progress_spec_files/
|
463
|
-
- spec/lib/ehbrs_ruby_utils/bga/parsers/game_in_progress_spec_files/player_84920871_2023-06-19.target.yaml
|
522
|
+
- spec/lib/ehbrs_ruby_utils/bga/parsers/game_in_progress_spec_files/player_93223573_2023-06-12.source.html
|
464
523
|
- spec/lib/ehbrs_ruby_utils/bga/parsers/game_in_progress_spec_files/player_93212034_2023-06-12.source.html
|
524
|
+
- spec/lib/ehbrs_ruby_utils/bga/parsers/game_in_progress_spec_files/player_93212034_2023-06-12.target.yaml
|
465
525
|
- spec/lib/ehbrs_ruby_utils/bga/parsers/game_in_progress_spec.rb
|
466
|
-
- spec/lib/ehbrs_ruby_utils/
|
467
|
-
- spec/lib/ehbrs_ruby_utils/
|
468
|
-
- spec/lib/ehbrs_ruby_utils/circular_list_spreader_spec_files/ehbrs_music1.source.yaml
|
526
|
+
- spec/lib/ehbrs_ruby_utils/bga/parsers/game_stats_spec.rb
|
527
|
+
- spec/lib/ehbrs_ruby_utils/bga/parsers/table_spec.rb
|
469
528
|
- spec/lib/ehbrs_ruby_utils/circular_list_spreader_spec_files/minimum.source.yaml
|
529
|
+
- spec/lib/ehbrs_ruby_utils/circular_list_spreader_spec_files/minimum.target.yaml
|
470
530
|
- spec/lib/ehbrs_ruby_utils/circular_list_spreader_spec_files/ehbrs_music1.target.yaml
|
471
|
-
- spec/lib/ehbrs_ruby_utils/
|
472
|
-
- spec/
|
473
|
-
- spec/lib/ehbrs_ruby_utils/videos/opensubtitles/parsers/title_spec.rb
|
474
|
-
- spec/lib/ehbrs_ruby_utils/videos/opensubtitles/parsers/episode_spec.rb
|
475
|
-
- spec/lib/ehbrs_ruby_utils/videos/opensubtitles/parsers/episode_spec_files/counterpart_s01e01.source.html
|
476
|
-
- spec/lib/ehbrs_ruby_utils/videos/opensubtitles/parsers/episode_spec_files/wire-season-1-page-1.target.yaml
|
477
|
-
- spec/lib/ehbrs_ruby_utils/videos/opensubtitles/parsers/episode_spec_files/wire-season-1-page-1.source.html
|
478
|
-
- spec/lib/ehbrs_ruby_utils/videos/opensubtitles/parsers/episode_spec_files/counterpart_s01e01.target.yaml
|
479
|
-
- spec/lib/ehbrs_ruby_utils/videos/stream_spec.rb
|
480
|
-
- spec/lib/ehbrs_ruby_utils/videos/stream_spec_files/menina_ovo_audio.target.yaml
|
481
|
-
- spec/lib/ehbrs_ruby_utils/videos/stream_spec_files/menina_ovo_video.target.yaml
|
482
|
-
- spec/lib/ehbrs_ruby_utils/videos/stream_spec_files/menina_ovo_attachment.target.yaml
|
483
|
-
- spec/lib/ehbrs_ruby_utils/videos/stream_spec_files/menina_ovo_subtitle.target.yaml
|
484
|
-
- spec/lib/ehbrs_ruby_utils/videos/stream_spec_files/menina_ovo_audio.source.yaml
|
485
|
-
- spec/lib/ehbrs_ruby_utils/videos/stream_spec_files/menina_ovo_attachment.source.yaml
|
486
|
-
- spec/lib/ehbrs_ruby_utils/videos/stream_spec_files/menina_ovo_subtitle.source.yaml
|
487
|
-
- spec/lib/ehbrs_ruby_utils/videos/stream_spec_files/menina_ovo_video.source.yaml
|
488
|
-
- spec/lib/ehbrs_ruby_utils/videos/resolution_spec.rb
|
489
|
-
- spec/spec_helper.rb
|
531
|
+
- spec/lib/ehbrs_ruby_utils/circular_list_spreader_spec_files/ehbrs_music1.source.yaml
|
532
|
+
- spec/rubocop_check_spec.rb
|
490
533
|
- ".rubocop.yml"
|
491
534
|
- ".rspec"
|