Skip to content

Instantly share code, notes, and snippets.

View jimdalbano's full-sized avatar

Jim Albano jimdalbano

View GitHub Profile
@jimdalbano
jimdalbano / election_night_live_model.R
Created November 2, 2020 16:26 — forked from elliottmorris/election_night_live_model.R
A live election-night prediction model using The Economist's pre-election forecast
#' Description
#' This file runs a live election-night forecast based on The Economist's pre-election forecasting model
#' available at projects.economist.com/us-2020-forecast/president.
#' It is resampling model based on https://pkremp.github.io/update_prob.html.
#' This script does not input any real election results! You will have to enter your picks/constraints manually (scroll to the bottom of the script).
#'
#' Licence
#' This software is published by *[The Economist](https://www.economist.com)* under the [MIT licence](https://opensource.org/licenses/MIT). The data generated by *The Economist* are available under the [Creative Commons Attribution 4.0 International License](https://creativecommons.org/licenses/by/4.0/).
#' The licences include only the data and the software authored by *The Economist*, and do not cover any *Economist* content or third-party data or content made available using the software. More information about licensing, syndication and the copyright of *Economist* content can be fou
class AddExpiresAtToOffer < ActiveRecord::Migration
def change
add_column :offers, :expires_at, :date
Offer.reset_column_information
Offer.find_each do |offer|
puts '...running loop'
offer.update_attribute(:expires_at, offer.created_at + 6.months)
offer.save
after_save :expires_at #once its been saved update the expires_at attribute
def expired?
if accepted! #if an offer has been accepted it cannot expire
return false
else
created_at < expires_at ? false : true #if created_at is less than expires_at return false, else return true
end
end