class Smogon::Type::Base
Public Class Methods
new(response = nil)
click to toggle source
# File lib/smogon/types/base.rb, line 23 def initialize(response = nil) return unless response attributes.each do |attr| public_send("#{attr}=", response[attr]) end end
Public Instance Methods
to_h()
click to toggle source
# File lib/smogon/types/base.rb, line 31 def to_h attributes.zip( attributes.map { |attr| public_send(attr) } ).to_h end
to_s()
click to toggle source
# File lib/smogon/types/base.rb, line 37 def to_s attributes.map do |attr| key = attr.capitalize.gsub('_', ' ') val = public_send(attr) val = val.join(', ') if val.is_a?(Array) val == '' ? nil : "#{key}: #{val}" end.compact.join("\n") end
url()
click to toggle source
# File lib/smogon/types/base.rb, line 46 def url [ 'http://www.smogon.com/dex', ::Smogon::API::METAGAME, self.class::TYPE, name.gsub(' ', '_') ].join('/') end
Private Instance Methods
attributes()
click to toggle source
# File lib/smogon/types/base.rb, line 57 def attributes self.class::ATTRIBUTES end