Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Power Outages in the Northeast

branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 lib
Octocat-spinner-32 spec
Octocat-spinner-32 .gitignore
Octocat-spinner-32 .travis.yml
Octocat-spinner-32 Gemfile
Octocat-spinner-32 LICENSE.txt
Octocat-spinner-32 README.md
Octocat-spinner-32 Rakefile
Octocat-spinner-32 sandy.gemspec
README.md

Disclaimer

11/10/13 - I have not been maintaining this gem, and I'm not sure that the Coned endpoints are still available. It may not work as expected.

Sandy

Build Status Code Climate

Sandy is a rubygem for consuming power outage data for the Greater New York area. For a given area, retrieve number of outages, as well as total customers, lat/lng, and estimated time of recovery (depending on the provider).

Currently supports ConEd (NYC), LIPA (Long Island), and PSEG (NJ).

Usage

Providers

Sandy::Provider::LIPA::Report.new
Sandy::Provider::ConEd::Report.new

Areas

Area#name
Area#customers_affected
Area#region
Area#latitude
Area#longitude
Area#total_customers
Area#estimated_recovery_time

Example

report = Sandy::Provider::ConEd::Report.new

areas = report.areas
areas.each do |area|
  puts "#{area.name}, #{area.customers_affected}"
end

# => 

Bronx, 28644
Brooklyn, 37016
Manhattan, 226225
Queens, 85057
Staten Island, 58043
Westchester, 123571

A note on Polling

The ConEd outage feed is only updated every 15 minutes. Repeated polling won't get you new results.

Installation

Add this line to your application's Gemfile:

gem 'sandy'

And then execute:

$ bundle

Or install it yourself as:

$ gem install sandy

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

Powered by the sandy gem

Something went wrong with that request. Please try again.