class TarcisiobragsTads::ORM
Public Class Methods
atualizar(obj)
click to toggle source
# File lib/tarcisiobrags_tads/orm.rb, line 39 def self.atualizar(obj) FileUtils.rm "#{path}/#{obj.id}.yml" File.open("#{path}/#{obj.id}.yml", "a") do |arquivo| arquivo.puts YAML.dump obj return obj.id end end
criar(*atributos)
click to toggle source
# File lib/tarcisiobrags_tads/orm.rb, line 7 def self.criar(*atributos) id = proximo_id File.open("#{path}/#{id}.yml", "a") do |arquivo| obj = self.new atributos obj.id = id arquivo.puts YAML.dump obj return id end end
listar()
click to toggle source
# File lib/tarcisiobrags_tads/orm.rb, line 17 def self.listar @objs = [] $/ = '\n\n' (1..ultimo_id).each do |id| _path = "#{path}/#{id}.yml" if File.exist?(_path) File.open(_path, "r").each do |obj| @objs << YAML.load(obj) end end end @objs end
remove(id)
click to toggle source
# File lib/tarcisiobrags_tads/orm.rb, line 47 def self.remove(id) FileUtils.rm "#{path}/#{id}.yml" return id end
selecionar(id)
click to toggle source
# File lib/tarcisiobrags_tads/orm.rb, line 33 def self.selecionar(id) listar.each do |obj| return obj if obj.id == id end end
Private Class Methods
path()
click to toggle source
# File lib/tarcisiobrags_tads/orm.rb, line 65 def self.path "db/#{self.to_s.downcase}" end
proximo_id()
click to toggle source
# File lib/tarcisiobrags_tads/orm.rb, line 69 def self.proximo_id ultimo_id.to_i + 1 end
quantidade_registros()
click to toggle source
# File lib/tarcisiobrags_tads/orm.rb, line 54 def self.quantidade_registros Dir.glob("#{path}/*.yml").size + 1 end
ultimo_id()
click to toggle source
# File lib/tarcisiobrags_tads/orm.rb, line 58 def self.ultimo_id files = Dir.entries("#{path}").sort_by do |file| File.ctime("#{path}/#{file}") end File.basename("#{path}/#{files.last}", ".yml").to_i end