OldBill¶ ↑
OldBill gives you a nice ruby wrapper for the police.uk API
It allows you to hook into the new Police API service to find out about crime in your local area.
The Police API allows you to download data about crime localised to your area within a date range, and is data direct from the UK police service. Enjoy!
Idiomatic Ruby¶ ↑
Concrete classes and methods modelling Police data¶ ↑
Quickstart¶ ↑
@session = OldBill.session.create(:username => "username", :password => "password") @session.locate(52.6397278, -1.1322921).crimes_by_month
Defaults:¶ ↑
caching # => true (boolean) expires_in # => 60*60*24 (seconds) cache # => Moneta::Memory.new "(Moneta Supported Cache) http://github.com/wycats/moneta server # => "api-stage.carboncalculated.com" (string) api_version #=> "v1" (string) logging # => true (boolean)
This is overriding the defaults¶ ↑
@session = OldBill::Session.create( :username => "username", :password => "password" :cache => Moneta::S3.new(:access_key_id => ENV['AWS_ACCESS_KEY_ID'], :secret_access_key => ENV['AWS_SECRET_ACCESS_KEY'], :bucket => 'carbon') :expires_in => 60*60*24*14 ) This has created a session with S3 Moneta cache that expires in 14 days
Resources¶ ↑
Police API for code: policeapi2.rkh.co.uk/api/docs/
Gemcutter for the gem: gemcutter.org/gems/oldbill
Using OldBill¶ ↑
The API is separated into 2 area neighbourhoods and crime
Forces¶ ↑
@session = OldBill.session.create(:username => "username", :password => "password") @session.forces
Crimes¶ ↑
@session = OldBill.session.create(:username => "username", :password => "password") @session.crimes_by_month("leicestershire", "C01") @session.street_level_crimes(52.6397278, -1.1322921) @session.crime_categories
Neighbourhoods¶ ↑
@session = OldBill.session.create(:username => "username", :password => "password") @session.neighbourhoods("leicestershire") @session.neighbourhood("leicestershire", "C01") You can then call methods on the neighbourhood @session.neighbourhood("leicestershire", "C01").street_level_crimes @session.neighbourhood("leicestershire", "C01").crimes_by_month @session.neighbourhood("leicestershire", "C01").events @session.neighbourhood("leicestershire", "C01").police_officers
Locate A Neighbourhood¶ ↑
@session = OldBill.session.create(:username => "username", :password => "password") @session.locate(52.6397278, -1.1322921) @session.locate(52.6397278, -1.1322921).events @session.locate(52.6397278, -1.1322921).crimes_by_month @session.locate(52.6397278, -1.1322921).police_officers @session.locate(52.6397278, -1.1322921).full_neighbourhood.street_level_crimes