ceritium/bario

View on GitHub
bin/bario-demo

Summary

Maintainability
Test Coverage
#!/usr/bin/env ruby
# frozen_string_literal: true

require "bundler/setup"
require "bario"
require "bario/cli"

require "optparse"

parser = OptionParser.new do |opts|
  opts.banner = "Usage: bario-demo [options]"
  Bario::CLI.common(opts)
end

parser.parse!

threads = []
3.times.each do |t1|
  bar = Bario::Bar.create(name: "bar #{t1}")
  threads << Thread.new do
    100.times do
      bar.increment
      sleep(1.0 / ((t1 + 1) * 2))
    end
    bar.delete
  end

  t1.times.each do |t2|
    child = bar.add_bar(name: "bar > #{t2}")
    threads << Thread.new do
      100.times do
        child.increment
        sleep(0.1)
      end
      child.delete
    end
  end
end

threads.map(&:join)