Assign a name to every tables arrangement
This commit is contained in:
		
							parent
							
								
									f75f903363
								
							
						
					
					
						commit
						066fdea504
					
				
							
								
								
									
										2
									
								
								Gemfile
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								Gemfile
									
									
									
									
									
								
							| @ -15,6 +15,7 @@ gem 'stimulus-rails' | ||||
| gem 'turbo-rails' | ||||
| gem 'tzinfo-data', platforms: %i[windows jruby] | ||||
| 
 | ||||
| gem 'faker' | ||||
| gem 'jsonapi-rails' | ||||
| gem 'rack-cors' | ||||
| gem 'react-rails' | ||||
| @ -23,7 +24,6 @@ gem 'rubytree' | ||||
| group :development, :test do | ||||
|   gem 'debug', platforms: %i[mri windows] | ||||
|   gem 'factory_bot_rails' | ||||
|   gem 'faker' | ||||
|   gem 'pry' | ||||
|   gem 'rspec-rails', '~> 7.0.0' | ||||
| end | ||||
|  | ||||
| @ -2,7 +2,7 @@ | ||||
| 
 | ||||
| class TablesArrangementsController < ApplicationController | ||||
|   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 | ||||
| 
 | ||||
|   def show | ||||
|  | ||||
| @ -3,4 +3,12 @@ | ||||
| class TablesArrangement < ApplicationRecord | ||||
|   has_many :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 | ||||
|  | ||||
| @ -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 | ||||
| # of editing this file, please use the migrations feature of Active Record to | ||||
| # 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. | ||||
| 
 | ||||
| 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 | ||||
|   enable_extension "plpgsql" | ||||
| 
 | ||||
| @ -65,6 +63,7 @@ ActiveRecord::Schema[7.2].define(version: 2024_11_01_181052) do | ||||
|     t.integer "discomfort" | ||||
|     t.datetime "created_at", null: false | ||||
|     t.datetime "updated_at", null: false | ||||
|     t.string "name", null: false | ||||
|   end | ||||
| 
 | ||||
|   add_foreign_key "groups", "groups", column: "parent_id" | ||||
|  | ||||
| @ -3,5 +3,9 @@ | ||||
| require 'rails_helper' | ||||
| 
 | ||||
| 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 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user