Sha256: a8ea602fe683d5e9d616d68158119b34c2a503de1256930fe1f0e0b70e8a7e3e
Contents?: true
Size: 910 Bytes
Versions: 33
Compression:
Stored size: 910 Bytes
Contents
module Pageflow class EncodingConfirmation class QuotaExceededError < RuntimeError end attr_reader :entry, :attributes, :encoding_quota, :user def initialize(entry, attributes, encoding_quota, user) @entry = entry @attributes = attributes @encoding_quota = encoding_quota @user = user end def exceeding? assumed_quota.exceeded? end def save! ActiveRecord::Base.transaction do raise(QuotaExceededError) if exceeding? files.each do |file| file.confirmed_by = user file.confirm_encoding! end end end def assumed_quota @assumed_quota ||= encoding_quota.assume(files: files) end def files @files ||= entry.video_files.find(attributes.fetch(:video_file_ids, [])) + entry.audio_files.find(attributes.fetch(:audio_file_ids, [])) end end end
Version data entries
33 entries across 33 versions & 1 rubygems