Add a simple summary export
This commit is contained in:
parent
b9ad36fa6b
commit
03dfaadb82
|
@ -11,4 +11,8 @@ class HomeController < ApplicationController
|
||||||
def export
|
def export
|
||||||
@talk_preferences = TalkPreference.this_years.eager_load(:selected_talks)
|
@talk_preferences = TalkPreference.this_years.eager_load(:selected_talks)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def summary
|
||||||
|
@summary = Summary.new params[:summary]
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -0,0 +1,23 @@
|
||||||
|
class Summary
|
||||||
|
def initialize(params = {})
|
||||||
|
@talk_id, @other_talk_ids = params[:talk_id], params[:other_talk_ids]
|
||||||
|
@votes_count = SelectedTalk.where(talk_id: @talk_id).count
|
||||||
|
@all_votes_count = TalkPreference.joins(:selected_talks).where(selected_talks: {talk_id: @other_talk_ids << @talk_id}).count
|
||||||
|
end
|
||||||
|
|
||||||
|
def summary
|
||||||
|
{
|
||||||
|
talk_id: @talk_id,
|
||||||
|
votes: @votes_count,
|
||||||
|
all_votes: @all_votes_count,
|
||||||
|
per_cent: Rational(@votes_count, @all_votes_count).to_f,
|
||||||
|
conflicts: conflicts
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
def conflicts
|
||||||
|
@other_talk_ids.map do |right|
|
||||||
|
[right, ConflictCoefficient.new(@talk_id, right).conflicts]
|
||||||
|
end.to_h
|
||||||
|
end
|
||||||
|
end
|
|
@ -0,0 +1 @@
|
||||||
|
json.merge! @summary.summary
|
|
@ -3,6 +3,11 @@ Rails.application.routes.draw do
|
||||||
root to: 'home#index'
|
root to: 'home#index'
|
||||||
get 'ratings' => 'home#ratings'
|
get 'ratings' => 'home#ratings'
|
||||||
get 'export' => 'home#export'
|
get 'export' => 'home#export'
|
||||||
resources :conflicts
|
get 'summary' => 'home#summary'
|
||||||
|
resources :conflicts do
|
||||||
|
collection do
|
||||||
|
get 'pivot'
|
||||||
|
end
|
||||||
|
end
|
||||||
# For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html
|
# For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue