Compare commits

..

No commits in common. "65a265b900aeb1ec96c36d99200951d8d5408823" and "37bbc1e4f12a9fdf1c226253a19636beb43549b7" have entirely different histories.

3 changed files with 4 additions and 33 deletions

View File

@ -9,10 +9,10 @@ class AffinitiesController < ApplicationController
overridden = @group.affinities.each_with_object({}) do |affinity, acc|
acc[affinity.another_group(@group).id] = affinity.discomfort
end
for_each_group do |group_id|
overridden[group_id] || GroupAffinity::NEUTRAL
end
Group.where.not(id: @group.id)
.pluck(:id)
.index_with { |group_id| GroupAffinity::MAX_DISCOMFORT - (overridden[group_id] || GroupAffinity::NEUTRAL) }
.then { |affinities| render json: affinities }
end
def bulk_update
@ -33,21 +33,8 @@ class AffinitiesController < ApplicationController
render json: { error: 'Invalid group ID or discomfort provided.' }, status: :bad_request
end
def default
for_each_group do |group_id|
Tables::DiscomfortCalculator.cohesion_discomfort(id_a: @group.id, id_b: group_id).to_f
end
end
private
def for_each_group
Group.where.not(id: @group.id)
.pluck(:id)
.index_with { |group_id| GroupAffinity::MAX_DISCOMFORT - yield(group_id) }
.then { |affinities| render json: affinities }
end
def set_group
@group = Group.find(params[:group_id])
end

View File

@ -26,7 +26,6 @@ Rails.application.routes.draw do
resources :groups, only: %i[index create update destroy] do
resources :affinities, only: %i[index] do
put :bulk_update, on: :collection
get :default, on: :collection
end
end

View File

@ -20,21 +20,6 @@ RSpec.describe 'affinities' do
end
end
path '/{slug}/groups/{group_id}/affinities/default' do
parameter Swagger::Schema::SLUG
parameter name: 'group_id', in: :path, type: :string, format: :uuid, description: 'group_id'
get('calculate default affinity') do
tags 'Affinities'
produces 'application/json'
response(200, 'successful') do
schema type: :object, additionalProperties: { type: :integer, minimum: 0, maximum: 2 }
xit
end
end
end
path '/{slug}/groups/{group_id}/affinities/bulk_update' do
parameter Swagger::Schema::SLUG
parameter name: 'group_id', in: :path, type: :string, format: :uuid, description: 'group_id'