CARVIEW |
Select Language
HTTP/2 200
date: Sun, 27 Jul 2025 08:48:16 GMT
content-type: text/html; charset=utf-8
vary: X-PJAX, X-PJAX-Container, Turbo-Visit, Turbo-Frame, X-Requested-With,Accept-Encoding, Accept, X-Requested-With
etag: W/"5ef36705e882aa43257f4400caf6c6c3"
cache-control: max-age=0, private, must-revalidate
strict-transport-security: max-age=31536000; includeSubdomains; preload
x-frame-options: deny
x-content-type-options: nosniff
x-xss-protection: 0
referrer-policy: no-referrer-when-downgrade
content-security-policy: default-src 'none'; base-uri 'self'; child-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/; connect-src 'self' uploads.github.com www.githubstatus.com collector.github.com raw.githubusercontent.com api.github.com github-cloud.s3.amazonaws.com github-production-repository-file-5c1aeb.s3.amazonaws.com github-production-upload-manifest-file-7fdce7.s3.amazonaws.com github-production-user-asset-6210df.s3.amazonaws.com *.rel.tunnels.api.visualstudio.com wss://*.rel.tunnels.api.visualstudio.com objects-origin.githubusercontent.com copilot-proxy.githubusercontent.com proxy.individual.githubcopilot.com proxy.business.githubcopilot.com proxy.enterprise.githubcopilot.com *.actions.githubusercontent.com wss://*.actions.githubusercontent.com productionresultssa0.blob.core.windows.net/ productionresultssa1.blob.core.windows.net/ productionresultssa2.blob.core.windows.net/ productionresultssa3.blob.core.windows.net/ productionresultssa4.blob.core.windows.net/ productionresultssa5.blob.core.windows.net/ productionresultssa6.blob.core.windows.net/ productionresultssa7.blob.core.windows.net/ productionresultssa8.blob.core.windows.net/ productionresultssa9.blob.core.windows.net/ productionresultssa10.blob.core.windows.net/ productionresultssa11.blob.core.windows.net/ productionresultssa12.blob.core.windows.net/ productionresultssa13.blob.core.windows.net/ productionresultssa14.blob.core.windows.net/ productionresultssa15.blob.core.windows.net/ productionresultssa16.blob.core.windows.net/ productionresultssa17.blob.core.windows.net/ productionresultssa18.blob.core.windows.net/ productionresultssa19.blob.core.windows.net/ github-production-repository-image-32fea6.s3.amazonaws.com github-production-release-asset-2e65be.s3.amazonaws.com insights.github.com wss://alive.github.com api.githubcopilot.com api.individual.githubcopilot.com api.business.githubcopilot.com api.enterprise.githubcopilot.com; font-src github.githubassets.com; form-action 'self' github.com gist.github.com copilot-workspace.githubnext.com objects-origin.githubusercontent.com; frame-ancestors 'none'; frame-src viewscreen.githubusercontent.com notebooks.githubusercontent.com; img-src 'self' data: blob: github.githubassets.com media.githubusercontent.com camo.githubusercontent.com identicons.github.com avatars.githubusercontent.com private-avatars.githubusercontent.com github-cloud.s3.amazonaws.com objects.githubusercontent.com release-assets.githubusercontent.com secured-user-images.githubusercontent.com/ user-images.githubusercontent.com/ private-user-images.githubusercontent.com opengraph.githubassets.com copilotprodattachments.blob.core.windows.net/github-production-copilot-attachments/ github-production-user-asset-6210df.s3.amazonaws.com customer-stories-feed.github.com spotlights-feed.github.com objects-origin.githubusercontent.com *.githubusercontent.com; manifest-src 'self'; media-src github.com user-images.githubusercontent.com/ secured-user-images.githubusercontent.com/ private-user-images.githubusercontent.com github-production-user-asset-6210df.s3.amazonaws.com gist.github.com; script-src github.githubassets.com; style-src 'unsafe-inline' github.githubassets.com; upgrade-insecure-requests; worker-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/
server: github.com
content-encoding: gzip
accept-ranges: bytes
set-cookie: _gh_sess=TwTu8mqvnL2VDB5%2FDFk%2BbNAn6qJpQK5E0sfpkXifi2uyHo4t3YACqERZj8JTdhix9udStKUpOjEIWA%2F3XrIQlGoJZs3YisOW01gpH6zQDOcTclZWuDiXa65oFXGxj%2FCi3gQtbsoyKjZV%2BcWFzThp9Ya9HI2DxCrE9k1lWK1wU6t4sQFetv4BOF5YL6BrPk27KvhpAHHBk94stHXTPqCBMFNlXqBBeax%2BMz24i2Sjyplvh%2B%2BkcAVIyqLpteZnICGEzOF1dkOFkbgRJKtO6%2Fv4Zg%3D%3D--obVl%2BNmjh639O0JB--vzE5bCs3w%2FMHY%2BIwDL6%2BBw%3D%3D; Path=/; HttpOnly; Secure; SameSite=Lax
set-cookie: _octo=GH1.1.393580656.1753606096; Path=/; Domain=github.com; Expires=Mon, 27 Jul 2026 08:48:16 GMT; Secure; SameSite=Lax
set-cookie: logged_in=no; Path=/; Domain=github.com; Expires=Mon, 27 Jul 2026 08:48:16 GMT; HttpOnly; Secure; SameSite=Lax
x-github-request-id: C182:0A77:2DB09:3B2E8:6885E7D0
Output as Hash · jfelchner/ruby-progressbar Wiki · GitHub
Skip to content
Navigation Menu
{{ message }}
-
-
Notifications
You must be signed in to change notification settings - Fork 131
Output as Hash
Jeff Felchner edited this page Sep 15, 2017
·
6 revisions
In various use cases, it's handy to have access to the data that the progressbar has, but without actually printing the bar. Maybe you want to send the current percentage completed to a file to build some benchmarking metrics or maybe after every completed run you want to clear the bar but print the elapsed time to the screen in a footer of some sort.
In order to do this, simply call to_h
on the progressbar instance and you'll get access to a plethora of information such as:
- Output Stream IO Object
- Length of the Bar
- Title
- Progress Mark
- Remainder Mark
- Current Progress
- Total
- Percentage Completed
- Elapsed Time In Seconds
- Estimated Time Remaining In Seconds
- Rate Of Change
- Rate Of Change (Using the User's Custom Rate Scale)
- Unknown Progress Animation Steps
- Throttle Rate
- Whether the bar is started (including the time it was started)
- Whether the bar is stopped
- Whether the bar is finished
Given this input:
progressbar = ProgressBar::Base.new(:output => output,
:total => 33,
:title => 'My Title',
:progress_mark => 'x',
:remainder_mark => '-',
:length => 92,
:rate_scale => lambda { |rate| rate * 200 },
:throttle_rate => 12.3)
# Make some progress updates over a period of time
progressbar.to_h
this would output something like:
{
'output_stream' => #<StringIO:0x007fdf2d056928>,
'length' => 92,
'title' => 'My Title',
'progress_mark' => 'x',
'remainder_mark' => '-',
'progress' => 22,
'total' => 33,
'percentage' => 66.66,
'elapsed_time_in_seconds' => 599.99994701264,
'estimated_time_remaining_in_seconds' => 400,
'base_rate_of_change' => 0.03672787979966611,
'scaled_rate_of_change' => 7.345575959933222,
'unknown_progress_animation_steps' => ['=---', '-=--', '--=-', '---='],
'throttle_rate' => 12.3,
'started?' => 2012-07-26 12:50:00 -0500,
'stopped?' => false,
'finished?' => false
}
Go forth and conquer!
You can’t perform that action at this time.