Class: SpreeCmCommissioner::VideoOnDemandCreator

Inherits:
BaseInteractor show all
Defined in:
app/interactors/spree_cm_commissioner/video_on_demand_creator.rb

Instance Method Summary collapse

Instance Method Details

#callObject



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'app/interactors/spree_cm_commissioner/video_on_demand_creator.rb', line 3

def call
  video_on_demand_params = context.video_on_demand_params

  instance = SpreeCmCommissioner::VideoOnDemand.new
  quality_result = instance.calculate_quality_value(video_on_demand_params)
  protocol_result = instance.calculate_protocol_value(video_on_demand_params)
  frame_rate = SpreeCmCommissioner::VideoOnDemand.frame_rates[video_on_demand_params[:frame_rate]]

  uuid = video_on_demand_params[:uuid]
  permitted_params = permit_params(video_on_demand_params, quality_result, protocol_result, frame_rate, uuid)

  video_on_demand = SpreeCmCommissioner::VideoOnDemand.new(permitted_params)

  if video_on_demand.save
    context.video_on_demand = video_on_demand
  else
    context.fail!(error: 'Failed to create VideoOnDemand')
  end
end