class RomLoader::GameSystem

The class whose instances represent an individual game system (e.g. Sega Genesis object)

Attributes

name[RW]
rom_index_url[RW]
rom_indices[W]

Public Class Methods

all() click to toggle source

Retrieves an array of all GameSystem objects

# File lib/romloader/game_system.rb, line 27
def self.all
  @@all    
end
create_from_collection(system_array) click to toggle source

Creates multiple GameSystem objects from information scraped from freeroms.com

# File lib/romloader/game_system.rb, line 21
def self.create_from_collection(system_array)
  system_array.each { |system_details| self.new(system_details)}
  nil
end
new(name:, rom_index_url:) click to toggle source

Create individual game system objects from information scraped from freeroms.com, sets all instance variables

# File lib/romloader/game_system.rb, line 12
def initialize(name:, rom_index_url:)
  @name = name
  @rom_index_url = rom_index_url
  @rom_indices = {}
  @roms = {}
  @@all << self
end

Public Instance Methods

add_roms_to_collection_by_letter(letter_index, game_obj_array) click to toggle source

Add the game collection scraped from freeroms.com to the GameSystem object to the roms Hash

# File lib/romloader/game_system.rb, line 50
def add_roms_to_collection_by_letter(letter_index, game_obj_array)

  game_obj_array.each { |game| game.system = self }
  @roms[letter_index] = game_obj_array
end
get_rom_collection_url(letter_index) click to toggle source

Retrieves the url for roms of a particular letter index (e.g. “A” => “freeroms.com/genesis_games_that_start_with_a.html”)

# File lib/romloader/game_system.rb, line 45
def get_rom_collection_url(letter_index)
  @rom_indices[letter_index]
end
get_rom_indices() click to toggle source

Retrieves an array of the indicies for the roms (i.e. [“A”,“B”,“C”…])

# File lib/romloader/game_system.rb, line 39
def get_rom_indices
  @rom_indices.keys
end
get_roms_by_letter(letter_index) click to toggle source

Retrieves an array of all GameRom objects starting which the provided letter index (e.g. [Sonic the Hedgehog, Streets of Rage,…])

# File lib/romloader/game_system.rb, line 33
def get_roms_by_letter(letter_index)
  @roms[letter_index]
end