Assign a name to every tables arrangement #83
2
Gemfile
2
Gemfile
@ -15,6 +15,7 @@ gem 'stimulus-rails'
|
|||||||
gem 'turbo-rails'
|
gem 'turbo-rails'
|
||||||
gem 'tzinfo-data', platforms: %i[windows jruby]
|
gem 'tzinfo-data', platforms: %i[windows jruby]
|
||||||
|
|
||||||
|
gem 'faker'
|
||||||
gem 'jsonapi-rails'
|
gem 'jsonapi-rails'
|
||||||
gem 'rack-cors'
|
gem 'rack-cors'
|
||||||
gem 'react-rails'
|
gem 'react-rails'
|
||||||
@ -23,7 +24,6 @@ gem 'rubytree'
|
|||||||
group :development, :test do
|
group :development, :test do
|
||||||
gem 'debug', platforms: %i[mri windows]
|
gem 'debug', platforms: %i[mri windows]
|
||||||
gem 'factory_bot_rails'
|
gem 'factory_bot_rails'
|
||||||
gem 'faker'
|
|
||||||
gem 'pry'
|
gem 'pry'
|
||||||
gem 'rspec-rails', '~> 7.0.0'
|
gem 'rspec-rails', '~> 7.0.0'
|
||||||
end
|
end
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
class TablesArrangementsController < ApplicationController
|
class TablesArrangementsController < ApplicationController
|
||||||
def index
|
def index
|
||||||
render json: TablesArrangement.all.order(discomfort: :asc).limit(3).as_json(only: %i[id discomfort])
|
render json: TablesArrangement.all.order(discomfort: :asc).limit(3).as_json(only: %i[id name discomfort])
|
||||||
end
|
end
|
||||||
|
|
||||||
def show
|
def show
|
||||||
|
@ -3,4 +3,12 @@
|
|||||||
class TablesArrangement < ApplicationRecord
|
class TablesArrangement < ApplicationRecord
|
||||||
has_many :seats
|
has_many :seats
|
||||||
has_many :guests, through: :seats
|
has_many :guests, through: :seats
|
||||||
|
|
||||||
|
before_create :assign_name
|
||||||
|
|
||||||
|
private
|
||||||
|
|
||||||
|
def assign_name
|
||||||
|
self.name = "#{Faker::Adjective.positive} #{Faker::Creature::Animal.name}".capitalize
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
@ -0,0 +1,5 @@
|
|||||||
|
class AddNameToTablesArrangements < ActiveRecord::Migration[7.2]
|
||||||
|
def change
|
||||||
|
add_column :tables_arrangements, :name, :string, null: false
|
||||||
|
end
|
||||||
|
end
|
5
db/schema.rb
generated
5
db/schema.rb
generated
@ -1,5 +1,3 @@
|
|||||||
# Copyright (C) 2024 Manuel Bustillo
|
|
||||||
|
|
||||||
# This file is auto-generated from the current state of the database. Instead
|
# This file is auto-generated from the current state of the database. Instead
|
||||||
# of editing this file, please use the migrations feature of Active Record to
|
# of editing this file, please use the migrations feature of Active Record to
|
||||||
# incrementally modify your database, and then regenerate this schema definition.
|
# incrementally modify your database, and then regenerate this schema definition.
|
||||||
@ -12,7 +10,7 @@
|
|||||||
#
|
#
|
||||||
# It's strongly recommended that you check this file into your version control system.
|
# It's strongly recommended that you check this file into your version control system.
|
||||||
|
|
||||||
ActiveRecord::Schema[7.2].define(version: 2024_11_01_181052) do
|
ActiveRecord::Schema[7.2].define(version: 2024_11_03_072808) do
|
||||||
# These are extensions that must be enabled in order to support this database
|
# These are extensions that must be enabled in order to support this database
|
||||||
enable_extension "plpgsql"
|
enable_extension "plpgsql"
|
||||||
|
|
||||||
@ -65,6 +63,7 @@ ActiveRecord::Schema[7.2].define(version: 2024_11_01_181052) do
|
|||||||
t.integer "discomfort"
|
t.integer "discomfort"
|
||||||
t.datetime "created_at", null: false
|
t.datetime "created_at", null: false
|
||||||
t.datetime "updated_at", null: false
|
t.datetime "updated_at", null: false
|
||||||
|
t.string "name", null: false
|
||||||
end
|
end
|
||||||
|
|
||||||
add_foreign_key "groups", "groups", column: "parent_id"
|
add_foreign_key "groups", "groups", column: "parent_id"
|
||||||
|
@ -3,5 +3,9 @@
|
|||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
RSpec.describe TablesArrangement, type: :model do
|
RSpec.describe TablesArrangement, type: :model do
|
||||||
pending "add some examples to (or delete) #{__FILE__}"
|
describe 'callbacks' do
|
||||||
|
it 'assigns a name before creation' do
|
||||||
|
expect(described_class.create!.name).to be_present
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
Loading…
x
Reference in New Issue
Block a user