Module: Badline::Storage

Defined in:
lib/badline/storage.rb,
lib/badline/storage/p00.rb,
lib/badline/storage/crt_file.rb,
lib/badline/storage/d64_image.rb,
lib/badline/storage/d71_image.rb,
lib/badline/storage/d81_image.rb,
lib/badline/storage/disk_image.rb,
lib/badline/storage/host_directory.rb

Defined Under Namespace

Modules: P00 Classes: CRTFile, D64Image, D71Image, D81Image, DiskImage, HostDirectory

Class Method Summary collapse

Class Method Details

.ascii(bytes) ⇒ Object

Folds shifted PETSCII letters to their ASCII equivalents.



15
16
17
# File 'lib/badline/storage.rb', line 15

def ascii(bytes)
  bytes.map { |b| b.between?(0xc1, 0xda) ? b - 0x80 : b }.pack("C*")
end

.matcher(name) ⇒ Object

CBM-style filename pattern: “*” and “?” wildcards, case-insensitive.



20
21
22
23
24
25
# File 'lib/badline/storage.rb', line 20

def matcher(name)
  escaped = Regexp.escape(name.downcase)
                  .gsub('\*', ".*")
                  .gsub('\?', ".")
  Regexp.new("\\A#{escaped}\\z")
end