Sha256: 8c2f0af2224b74a585fc3642ae48f8fce2c286317b6d24633ea179c8e872e90a
Contents?: true
Size: 829 Bytes
Versions: 61
Compression:
Stored size: 829 Bytes
Contents
require 'trenni/template' require 'async' require 'async/http/body/writable' # The template, using inline text. The sleep could be anything - database query, HTTP request, redis, etc. buffer = Trenni::Buffer.new(<<-EOF) The "\#{self[:count]} bottles of \#{self[:drink]} on the wall" song! <?r self[:count].downto(1) do |index| ?> \#{index} bottles of \#{self[:drink]} on the wall, \#{index} bottles of \#{self[:drink]}, take one down, and pass it around, \#{index - 1} bottles of \#{self[:drink]} on the wall. <?r Async::Task.current.sleep(1) ?> <?r end ?> EOF template = Trenni::Template.new(buffer) Async do body = Async::HTTP::Body::Writable.new generator = Async do template.to_string({count: 100, drink: 'coffee'}, body) end while chunk = body.read $stdout.write chunk end generator.wait end.wait
Version data entries
61 entries across 61 versions & 1 rubygems