Class: Pktool::Party

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

Constant Summary collapse

@@json_path =
"data/user/party.json"

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeParty

Returns a new instance of Party.



11
12
13
14
15
16
# File 'lib/party.rb', line 11

def initialize
  json = open(@@json_path) do |io|
    JSON.load(io, nil, { symbolize_names: true})
  end
  @list = json.map {|j| Pokemon.fetch(j[:name], j)}
end

Instance Attribute Details

#listObject

Returns the value of attribute list.



7
8
9
# File 'lib/party.rb', line 7

def list
  @list
end

Instance Method Details

#[](id) ⇒ Object



28
29
30
# File 'lib/party.rb', line 28

def [](id)
  return @list[id]
end

#add(pokemon) ⇒ Object



24
25
26
# File 'lib/party.rb', line 24

def add(pokemon)
  @list.push(pokemon)
end

#delete(id) ⇒ Object



32
33
34
# File 'lib/party.rb', line 32

def delete(id)
  @list.delete_at(id)
end

#saveObject



18
19
20
21
22
# File 'lib/party.rb', line 18

def save
  open(@@json_path, 'w') do |io|
    JSON.dump(@list.map{|p| p.to_h}, io)
  end
end

#update(id, pokemon) ⇒ Object



36
37
38
# File 'lib/party.rb', line 36

def update(id, pokemon)
  $list[id] = pokemon
end