Browse Source

Remove redundant code

tags/last-sinatra-version
Adrian Short 8 years ago
parent
commit
dcd10a9d07
1 changed files with 23 additions and 35 deletions
  1. +23
    -35
      app.rb

+ 23
- 35
app.rb View File

@@ -13,11 +13,11 @@ class String
if num == 1
return self
end
case self[-1]
when 'y'
self[0..-2] + 'ies'
when 's'
when 's'
self + "es"
else
self + "s"
@@ -31,7 +31,7 @@ helpers do
def commify(num)
num.to_s.reverse.gsub(/(\d\d\d)(?=\d)(?!\d*\.)/,'\1,').reverse
end
# From http://snippets.dzone.com/posts/show/593
def to_ordinal(num)
num = num.to_i
@@ -67,17 +67,17 @@ end
get '/' do
@election = Election.get(9) # FIXME magic number
@election_title = "#{@election.body.name} #{@election.kind} #{long_date(@election.d)}"
if params[:postcode]
if @p = Postcode.get(params[:postcode].strip.upcase)
# Postcode is valid and in LB Sutton
if @election.body.district_name == 'constituency'
@district = District.get(@p.constituency_id)
else
@district = District.get(@p.ward_id)
end
flash[:notice] = "Postcode <strong>#{@postcode}</strong> is in #{@district.name} #{@election.body.district_name}"

if @p.polling_station
@@ -93,7 +93,7 @@ get '/' do
flash.now[:error] = "<strong>#{@postcode}</strong> is not a postcode in Sutton"
end
end
# Display a random postcode as default search term
@random_pc = repository(:default).adapter.select("
SELECT postcode
@@ -151,7 +151,7 @@ get '/bodies/:body/elections/:date' do
SUM(c.seats) AS seats,
SUM(c.votes) AS votez,
COUNT(c.id) AS num_candidates
FROM districts d, candidacies c

WHERE
@@ -162,7 +162,7 @@ get '/bodies/:body/elections/:date' do

ORDER BY d.name
", @election.id)
# For elections that haven't yet been held
@districts_in_this_election = repository(:default).adapter.select("
SELECT DISTINCT d.name, d.slug
@@ -217,26 +217,26 @@ get '/candidates/:id/?' do
b.districts_name AS districts_name,
d.name AS district_name,
d.slug AS district_slug
FROM candidacies c
INNER JOIN elections e
ON c.election_id = e.id
INNER JOIN parties p
ON c.party_id = p.id
INNER JOIN bodies b
ON e.body_id = b.id
INNER JOIN districts d
ON c.district_id = d.id
WHERE c.candidate_id = ?
ORDER BY d
", @candidate.id)
haml :candidate
else
404
@@ -270,7 +270,7 @@ get '/bodies/:body/elections/:date/:districts_name/:district' do

# Postgres: All the columns selected when using GROUP BY must either be aggregate functions or appear in the GROUP BY clause
@results_by_party = repository(:default).adapter.select("
SELECT
SELECT
p.name AS party_name,
p.colour AS party_colour,
COUNT(c.id) AS num_candidates,
@@ -278,18 +278,18 @@ get '/bodies/:body/elections/:date/:districts_name/:district' do
SUM(c.votes) AS total_votes

FROM candidacies c
LEFT JOIN parties p
ON c.party_id = p.id
WHERE c.district_id = ?
AND c.election_id = ?
GROUP BY p.name, p.colour
ORDER BY total_votes DESC
", @district.id, @election.id)
if params[:wiki] == 'dokuwiki'
o = "^ #{@district.name} #{@district.body.district_name} results, #{@body.name} election #{short_date(@election.d)} ^^^^^^\n"
o += "^ Position ^ Candidate ^ Party ^ Votes ^ % Share ^ ^\n"
@@ -325,22 +325,10 @@ get '/how-the-parliament-election-works' do
haml :parliament
end

# get '/voting' do
# haml :voting
# end

get '/error' do
haml :error
end

# get '/aliens' do
# haml :aliens
# end

# get '/polling-stations' do
# @stations = PollingStation.all
# haml :pollingstations
# end
get '/about' do
haml :about
end


Loading…
Cancel
Save