Class: Smogon::Movedex

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

Class Method Summary collapse

Class Method Details

.get(name, fields = nil) ⇒ Object



22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# File 'lib/smogon/movedex.rb', line 22

def self.get(name, fields = nil)
  incapsulate = fields == nil

  fields ||= [
    'name',
    'alias',
    'description',
    'power',
    'accuracy',
    'pp',
    'type' => ['name'],
  ]

  response = API.request 'move', name, fields
  return nil      if response.is_a?(String) || response.empty? || response.first.empty?
  return response if not incapsulate

  response = response.first

  Move.new.tap do |move|
    move.name        = response['name'       ]
    move._name       = response['alias'      ]
    move.description = response['description']
    move.type        = response['type'       ].values.join(' / ')
    move.power       = response['power'      ]
    move.accuracy    = response['accuracy'   ]
    move.pp          = response['pp'         ]
  end
end