class Storage
Attributes
db[RW]
file[RW]
Public Class Methods
new(file)
click to toggle source
# File lib/botemon/storage.rb, line 23 def initialize(file) @file = file @db = [].tap { |db| (File.exists?(file) ? JSON.load(File.read(file)) : []).each { |p| db << Smogon::Type::Pokemon.to_pokemon(p) } } end
Public Instance Methods
add(pokemon)
click to toggle source
# File lib/botemon/storage.rb, line 46 def add(pokemon) return unless pokemon @db << pokemon unless is_cached?(pokemon.name) end
Also aliased as: put
get(name)
click to toggle source
# File lib/botemon/storage.rb, line 36 def get(name) name = name.downcase @db.select { |p| p.name == name }.first end
get_all()
click to toggle source
# File lib/botemon/storage.rb, line 41 def get_all @db end
Also aliased as: dump
is_cached?(name)
click to toggle source
# File lib/botemon/storage.rb, line 30 def is_cached?(name) name = name.downcase @db.select { |p| p.name == name }.any? end
Also aliased as: include?
save()
click to toggle source
# File lib/botemon/storage.rb, line 52 def save [].tap { |ary| @db.each { |p| ary << p.to_ary } File.open(@file, 'wb') { |f| f.write JSON.dump(ary) } } end