class Muamba::Persistence

Constants

URL

Public Instance Methods

list() click to toggle source
# File lib/muamba/persistence.rb, line 17
def list
  muambas { |m| puts m }
end
muambas() { |muambas| ... } click to toggle source
# File lib/muamba/persistence.rb, line 38
def muambas
  begin
    File.open(File.expand_path("~/.muambas"), "r+") do |file|
      @muambas = Marshal.load(file.read) rescue {}
      yield @muambas
      file.truncate(0)
      file.rewind
      file.write Marshal.dump(@muambas)
    end

  rescue Errno::ENOENT
    File.open(File.expand_path("~/.muambas"), "w+") { |f| f.write "" }
    retry
  end
end
track(tag, tracking) click to toggle source
# File lib/muamba/persistence.rb, line 9
def track(tag, tracking)
  muambas { |m| m.merge! tag => tracking }
end
untrack(tag) click to toggle source
# File lib/muamba/persistence.rb, line 13
def untrack(tag)
  muambas { |m| m.reject! {|k,v| k == tag } }
end
wtf() click to toggle source
# File lib/muamba/persistence.rb, line 21
def wtf
  muambas do |muamba|
    muamba.each do |tag, tracking|
      puts "\n\n:::::::::::::::::::::::  #{tag} (#{tracking})  :::::::::::::::::::::::"
      html = Nokogiri::HTML open(URL + tracking)
      rows = []
      html.css("tr").each do |tr|
        rows << tr.css("td").map(&:text)
      end
      header = rows.shift
      rows.unshift :separator
      rows.unshift header
      puts Terminal::Table.new :rows => rows
    end
  end
end