Module: OldBill::Api::Crime

Included in:
Session
Defined in:
lib/oldbill/api/crime.rb

Instance Method Summary collapse

Instance Method Details

#crime_categoriesArray<Hashie::Dash>

Returns #url #name.

Returns:

  • (Array<Hashie::Dash>)

    #url #name



38
39
40
41
42
# File 'lib/oldbill/api/crime.rb', line 38

def crime_categories
  api_call(:get, "/crime-categories") do |response|
    response.map{|category| Hashie::Mash.new(merge_session!(category))}
  end
end

#crimes_by_month(force, neighbourhood, params = {}) ⇒ Array<OldBill::CrimeByMonth>

Parameters:

  • force (String)
  • neighbourhood (String)

Returns:

  • (Array<OldBill::CrimeByMonth>)


22
23
24
25
26
# File 'lib/oldbill/api/crime.rb', line 22

def crimes_by_month(force, neighbourhood, params = {})
  api_call(:get, "/#{force}/#{neighbourhood}/crime", params) do |response|
    (response.empty? ? [] : response["crimes"].map{|crime_by_month| OldBill::V2::CrimeByMonth.new(merge_session!({:month => crime_by_month[0]}.merge(crime_by_month[1])))})
  end
end

#force(force, params = {}) ⇒ OldBill::Force

Returns ] #id #name.

Returns:

  • (OldBill::Force)

    ] #id #name



13
14
15
16
17
# File 'lib/oldbill/api/crime.rb', line 13

def force(force, params = {})
  api_call(:get, "/forces/#{force}", params) do |response|
    OldBill::V2::Force.new(merge_session!(response))
  end
end

#forcesArray<Hashie::Dash>

Returns #id #name.

Returns:

  • (Array<Hashie::Dash>)

    #id #name



6
7
8
9
10
# File 'lib/oldbill/api/crime.rb', line 6

def forces
  api_call(:get, "/forces") do |response|
    response.map{|category| Hashie::Mash.new(merge_session!(category))}
  end
end

#street_level_crimes(lat, lng, params = {}) ⇒ Array<OldBill::Crimes::StreetLevel>

Parameters:

  • Latitude (Float)

    of the requested crime area

  • Longitude (Float)

    of the requested crime area

Returns:

  • (Array<OldBill::Crimes::StreetLevel>)


31
32
33
34
35
# File 'lib/oldbill/api/crime.rb', line 31

def street_level_crimes(lat, lng, params = {})
  api_call(:get, "/crimes-street/all-crime", params.merge!({:lat => lat, :lng => lng})) do |response|
    response.map{|street_crime| OldBill::V2::Crimes::StreetLevel.new(merge_session!(street_crime))}
  end
end