Bladeren bron

Store postcodes locally using OS CodePoint Open data

tags/last-sinatra-version
Adrian Short 10 jaren geleden
bovenliggende
commit
6b0918a6e8
1 gewijzigde bestanden met toevoegingen van 21 en 11 verwijderingen
  1. +21
    -11
      models.rb

+ 21
- 11
models.rb Bestand weergeven

@@ -18,16 +18,24 @@ class Postcode
include DataMapper::Resource

# Postcode natural key, uppercase with space, eg. "SM1 1EA"
property :postcode, String, :key => true
property :created_at, DateTime
property :updated_at, DateTime
property :lat, Float, :required => true
property :lng, Float, :required => true
property :district_name, String, :required => true
property :district_code, String, :required => true
property :ward_name, String, :required => true
property :ward_code, String, :required => true
# Column names derived from Ordnance Survey CodePoint Open
property :postcode, String, :key => true
property :positional_quality_indicator, Integer
property :eastings, Integer, :required => true
property :northings, Integer, :required => true
property :country_code, String, :required => true
property :nhs_regional_ha_code, String, :required => true
property :nhs_ha_code, String, :required => true
property :admin_county_code, String # NULL within Greater London
property :admin_district_code, String, :required => true # e.g. London Borough of Sutton
property :admin_ward_code, String, :required => true # e.g. Sutton Central
property :lat, Float, :required => true
property :lng, Float, :required => true
property :ward_id, Integer, :required => true # Sutton Council
property :constituency_id, Integer, :required => false # UK Parliament

belongs_to :district, :child_key => [:ward_id]

def self.finder(postcode)
postcode = postcode.strip.upcase
@@ -126,8 +134,10 @@ class District
property :name, String, :length => 255, :required => true
property :slug, String
property :seats, Integer
property :ons_district_code, String

belongs_to :body
has n, :postcodes, :child_key => [:ward_id]
def self.slugify(name)
name.gsub(/[^\w\s-]/, '').gsub(/\s+/, '-').downcase


Laden…
Annuleren
Opslaan