Class: Distillery::Game

Inherits:
Object
  • Object
show all
Defined in:
lib/distillery/game.rb

Overview

Information about game

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name, *roms, releases: nil, cloneof: nil) ⇒ Game

Create a new instance of Game.

Parameters:

  • name (String)
  • roms (ROM)
  • releases (Array<Game::Release>, nil) (defaults to: nil)
  • cloneof (String, nil) (defaults to: nil)

Raises:

  • (ArgumentError)


16
17
18
19
20
21
22
23
# File 'lib/distillery/game.rb', line 16

def initialize(name, *roms, releases: nil, cloneof: nil)
    raise ArgumentError if name.nil?

    @name     = name
    @roms     = roms
    @releases = releases
    @cloneof  = cloneof
end

Instance Attribute Details

#cloneofString (readonly)

Returns:

  • (String)


53
54
55
# File 'lib/distillery/game.rb', line 53

def cloneof
  @cloneof
end

#nameString (readonly)

Returns:

  • (String)


44
45
46
# File 'lib/distillery/game.rb', line 44

def name
  @name
end

#releasesArray<Release> (readonly)

Returns:



50
51
52
# File 'lib/distillery/game.rb', line 50

def releases
  @releases
end

#romsArray<ROM> (readonly)

Returns:



47
48
49
# File 'lib/distillery/game.rb', line 47

def roms
  @roms
end

Instance Method Details

#each_rom {|rom| ... } ⇒ self, Enumerator

Iterate over ROMs used be the game

Yield Parameters:

Returns:

  • (self, Enumerator)


62
63
64
65
# File 'lib/distillery/game.rb', line 62

def each_rom
    block_given? ? @roms.each {|r| yield(r) }
                 : @roms.each
end

#eql?(o) ⇒ Boolean

Returns:

  • (Boolean)


31
32
33
# File 'lib/distillery/game.rb', line 31

def eql?(o)
    @name.eql?(o.name)
end

#hashInteger

Returns:

  • (Integer)


27
28
29
# File 'lib/distillery/game.rb', line 27

def hash
    @name.hash
end

#to_sString

String representation

Returns:

  • (String)


38
39
40
# File 'lib/distillery/game.rb', line 38

def to_s
    @name
end