diff --git a/app/models/terms_of_service_file.rb b/app/models/terms_of_service_file.rb new file mode 100644 index 0000000000..2474a0bed0 --- /dev/null +++ b/app/models/terms_of_service_file.rb @@ -0,0 +1,8 @@ +# frozen_string_literal: true + +class TermsOfServiceFile < ApplicationRecord + # The most recently uploaded file is the current one. + def self.current + order(:id).last + end +end diff --git a/db/migrate/20210415015550_create_terms_of_service_files.rb b/db/migrate/20210415015550_create_terms_of_service_files.rb new file mode 100644 index 0000000000..e9af6eaa33 --- /dev/null +++ b/db/migrate/20210415015550_create_terms_of_service_files.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +class CreateTermsOfServiceFiles < ActiveRecord::Migration[5.0] + def change + # rubocop:disable Style/SymbolProc + create_table :terms_of_service_files do |t| + t.timestamps + end + # rubocop:enable Style/SymbolProc + end +end diff --git a/db/schema.rb b/db/schema.rb index 2a16f4a7d7..9720236c7f 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -10,7 +10,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 2021_04_14_171109) do +ActiveRecord::Schema.define(version: 2021_04_15_015550) do # These are extensions that must be enabled in order to support this database enable_extension "plpgsql" @@ -1145,6 +1145,11 @@ ActiveRecord::Schema.define(version: 2021_04_14_171109) do t.index ["name"], name: "index_tags_on_name", unique: true end + create_table "terms_of_service_files", force: :cascade do |t| + t.datetime "created_at", null: false + t.datetime "updated_at", null: false + end + create_table "variant_overrides", force: :cascade do |t| t.integer "variant_id", null: false t.integer "hub_id", null: false diff --git a/spec/models/terms_of_service_file_spec.rb b/spec/models/terms_of_service_file_spec.rb new file mode 100644 index 0000000000..04434269f7 --- /dev/null +++ b/spec/models/terms_of_service_file_spec.rb @@ -0,0 +1,20 @@ +# frozen_string_literal: true + +require 'rails_helper' + +describe TermsOfServiceFile do + describe ".current" do + it "returns nil" do + expect(TermsOfServiceFile.current).to be_nil + end + + it "returns the last one" do + existing = [ + TermsOfServiceFile.create!, + TermsOfServiceFile.create!, + ] + + expect(TermsOfServiceFile.current).to eq existing.last + end + end +end diff --git a/spec/rails_helper.rb b/spec/rails_helper.rb new file mode 100644 index 0000000000..989a033760 --- /dev/null +++ b/spec/rails_helper.rb @@ -0,0 +1,3 @@ +# frozen_string_literal: true + +require 'spec_helper'