CARVIEW |
Select Language
HTTP/2 302
server: nginx
date: Thu, 07 Aug 2025 14:01:27 GMT
content-type: text/plain; charset=utf-8
content-length: 0
x-archive-redirect-reason: found capture at 20090123150456
location: https://web.archive.org/web/20090123150456/https://github.com/kevinclark/dust/tree
server-timing: captures_list;dur=0.967056, exclusion.robots;dur=0.041343, exclusion.robots.policy;dur=0.025489, esindex;dur=0.015982, cdx.remote;dur=36.487980, LoadShardBlock;dur=449.639277, PetaboxLoader3.datanode;dur=108.345079, PetaboxLoader3.resolve;dur=163.875959
x-app-server: wwwb-app200
x-ts: 302
x-tr: 541
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=1
set-cookie: wb-p-SERVER=wwwb-app200; path=/
x-location: All
x-rl: 0
x-na: 0
x-page-cache: MISS
server-timing: MISS
x-nid: DigitalOcean
referrer-policy: no-referrer-when-downgrade
permissions-policy: interest-cohort=()
HTTP/2 301
server: nginx
date: Thu, 07 Aug 2025 14:01:29 GMT
content-type: text/html; charset=utf-8
content-length: 111
x-archive-orig-server: nginx/0.6.26
x-archive-orig-date: Fri, 23 Jan 2009 15:04:55 GMT
x-archive-orig-connection: close
x-archive-orig-set-cookie: _github_ses=BAh7BzoOcmV0dXJuX3RvIh0vaW5ib3gvbmV3L3N0cmVldGNsZWFuZXIiCmZsYXNoSUM6J0FjdGlvbkNvbnRyb2xsZXI6OkZsYXNoOjpGbGFzaEhhc2h7AAY6CkB1c2VkewA%3D--fd1d975aa70679d067025d3f1fa353d48929ed30; path=/; expires=Wed, 01 Jan 2020 08:00:00 GMT; HttpOnly
x-archive-orig-status: 301 Moved Permanently
location: https://web.archive.org/web/20090123150456/https://github.com/kevinclark/dust/tree/master
x-archive-orig-x-runtime: 84ms
x-archive-orig-cache-control: no-cache
x-archive-orig-content-length: 111
cache-control: max-age=1800
memento-datetime: Fri, 23 Jan 2009 15:04:56 GMT
link: ; rel="original", ; rel="timemap"; type="application/link-format", ; rel="timegate", ; rel="first memento"; datetime="Sun, 14 Sep 2008 05:26:53 GMT", ; rel="prev memento"; datetime="Sun, 12 Oct 2008 10:42:43 GMT", ; rel="memento"; datetime="Fri, 23 Jan 2009 15:04:56 GMT", ; rel="last memento"; datetime="Fri, 23 Jan 2009 15:04:56 GMT"
content-security-policy: default-src 'self' 'unsafe-eval' 'unsafe-inline' data: blob: archive.org web.archive.org web-static.archive.org wayback-api.archive.org athena.archive.org analytics.archive.org pragma.archivelab.org wwwb-events.archive.org
x-archive-src: 52_7_20090123134858_crawl100-c/52_7_20090123150404_crawl101.arc.gz
server-timing: captures_list;dur=0.615872, exclusion.robots;dur=0.019847, exclusion.robots.policy;dur=0.011445, esindex;dur=0.008455, cdx.remote;dur=35.216067, LoadShardBlock;dur=790.103887, PetaboxLoader3.datanode;dur=694.616253, PetaboxLoader3.resolve;dur=852.946748, load_resource;dur=892.569121
x-app-server: wwwb-app200
x-ts: 301
x-tr: 1749
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=1
x-location: All
x-rl: 0
x-na: 0
x-page-cache: MISS
server-timing: MISS
x-nid: DigitalOcean
referrer-policy: no-referrer-when-downgrade
permissions-policy: interest-cohort=()
HTTP/2 200
server: nginx
date: Thu, 07 Aug 2025 14:01:32 GMT
content-type: text/html; charset=utf-8
x-archive-orig-server: nginx/0.6.26
x-archive-orig-date: Fri, 23 Jan 2009 15:04:56 GMT
x-archive-orig-connection: close
x-archive-orig-set-cookie: _github_ses=BAh7ByIKZmxhc2hJQzonQWN0aW9uQ29udHJvbGxlcjo6Rmxhc2g6OkZsYXNoSGFzaHsABjoKQHVzZWR7ADoOcmV0dXJuX3RvIh0vaW5ib3gvbmV3L3N0cmVldGNsZWFuZXI%3D--442482813f9ced19fa3e0677b155fa88b7f92c9d; path=/; expires=Wed, 01 Jan 2020 08:00:00 GMT; HttpOnly
x-archive-orig-status: 200 OK
x-archive-orig-x-runtime: 120ms
x-archive-orig-etag: "9bd81a67b7773f2863146c73e1962511"
x-archive-orig-cache-control: private, max-age=0, must-revalidate
x-archive-orig-content-length: 16007
x-archive-guessed-content-type: text/html
x-archive-guessed-charset: utf-8
memento-datetime: Fri, 23 Jan 2009 15:04:56 GMT
link: ; rel="original", ; rel="timemap"; type="application/link-format", ; rel="timegate", ; rel="first memento"; datetime="Sat, 13 Sep 2008 05:43:18 GMT", ; rel="prev memento"; datetime="Wed, 17 Sep 2008 16:01:41 GMT", ; rel="memento"; datetime="Fri, 23 Jan 2009 15:04:56 GMT", ; rel="next memento"; datetime="Sun, 17 May 2009 04:58:54 GMT", ; rel="last memento"; datetime="Sun, 22 Apr 2012 18:46:38 GMT"
content-security-policy: default-src 'self' 'unsafe-eval' 'unsafe-inline' data: blob: archive.org web.archive.org web-static.archive.org wayback-api.archive.org athena.archive.org analytics.archive.org pragma.archivelab.org wwwb-events.archive.org
x-archive-src: 52_7_20090123134858_crawl100-c/52_7_20090123150404_crawl101.arc.gz
server-timing: captures_list;dur=0.535284, exclusion.robots;dur=0.026850, exclusion.robots.policy;dur=0.015100, esindex;dur=0.011411, cdx.remote;dur=35.929331, LoadShardBlock;dur=528.002130, PetaboxLoader3.datanode;dur=155.629368, PetaboxLoader3.resolve;dur=2366.017312, load_resource;dur=2023.099967
x-app-server: wwwb-app200
x-ts: 200
x-tr: 2651
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=0
x-location: All
x-rl: 0
x-na: 0
x-page-cache: MISS
server-timing: MISS
x-nid: DigitalOcean
referrer-policy: no-referrer-when-downgrade
permissions-policy: interest-cohort=()
content-encoding: gzip
kevinclark's dust at master - GitHub
This repository is private.
All pages are served over SSL and all pushing and pulling is done over SSH.
No one may fork, clone, or view it unless they are added as a member.
Every repository with this icon (
) is private.
Every repository with this icon (

This repository is public.
Anyone may fork, clone, or view it.
Every repository with this icon (
) is public.
Every repository with this icon (

Description: | Lint for Ruby |
Homepage: | https://github.com/kevinclark/dust/wikis |
Clone URL: |
git://github.com/kevinclark/dust.git
Give this clone URL to anyone.
git clone git://github.com/kevinclark/dust.git
|
dust /
name | age | message | |
---|---|---|---|
![]() |
Dusters | Tue Jun 03 12:47:11 -0700 2008 | Add new Duster ideas [kevinclark] |
![]() |
LICENSE | Loading commit data... ![]() |
|
![]() |
README | ||
![]() |
Rakefile | ||
![]() |
lib/ | ||
![]() |
spec/ |
Ruby lint. Sorta. https://github.com/kevinclark/dust/wikis ## Examples require 'lib/dust' # Detect unused variabls def unused_lvar a = 1 1 + 2 end d = Dust::LocalVariableDuster.new(Object, :unused_lvar) d.dust! d.warnings # => [#<Dust::Warnings::UnusedVariable:0x86970 @variable=:a>] # Catch yield's without a check for block_given? def no_conditional_for_block_given yield end d = Dust::BlockDuster.new(Object, :no_conditional_for_block_given) d.dust! d.warnings # => [#<Dust::Warnings::UnprotectedBlock:0x614dd8 @yes_branch=nil, @condition=nil, @no_branch=nil>] # Find useless branches def silly_if_else 1 == 2 ? true : false end d = Dust::BranchDuster.new(Object, :silly_if_else) d.dust! d.warnings # => [#<Dust::Warnings::UselessBranch:0x5f80e8 @yes_branch=s(:true), @no_branch=s(:false)>]
This feature is coming soon. Sit tight!