Module: Helios::Videos

Defined in:
lib/helios/videos.rb,
lib/helios/videos/engine.rb,
lib/helios/videos/version.rb,
lib/helios/videos/processor.rb,
app/models/helios/videos/video.rb,
lib/helios/videos/configuration.rb,
lib/helios/videos/processors/mux.rb,
app/jobs/helios/videos/application_job.rb,
app/jobs/helios/videos/check_video_job.rb,
lib/helios/videos/processors/cloudflare.rb,
app/models/helios/videos/application_record.rb,
app/helpers/helios/videos/application_helper.rb,
app/mailers/helios/videos/application_mailer.rb,
app/models/concerns/helios/videos/video_concern.rb,
app/jobs/helios/videos/migration/convert_video_job.rb,
app/controllers/helios/videos/admin/base_controller.rb,
app/jobs/helios/videos/migration/migrate_videos_job.rb,
app/controllers/helios/videos/application_controller.rb,
app/jobs/helios/videos/migration/check_ingestion_job.rb,
app/controllers/helios/videos/admin/videos_controller.rb

Defined Under Namespace

Modules: Admin, ApplicationHelper, Migration, Processors, VideoConcern Classes: ApplicationController, ApplicationJob, ApplicationMailer, ApplicationRecord, CheckVideoJob, Configuration, Engine, Processor, Video

Constant Summary collapse

VERSION =
"0.2.1"

Class Method Summary collapse

Class Method Details

.configurationObject



11
12
13
# File 'lib/helios/videos.rb', line 11

def configuration
  @configuration ||= Configuration.new
end

.configure {|configuration| ... } ⇒ Object

Yields:



15
16
17
# File 'lib/helios/videos.rb', line 15

def configure
  yield(configuration)
end

.processorObject



23
24
25
26
27
# File 'lib/helios/videos.rb', line 23

def processor
  @processor = nil if @processor_type != configuration.processor
  @processor_type = configuration.processor
  @processor ||= processor_for(configuration.processor)
end

.processor_for(provider_type) ⇒ Object



29
30
31
32
33
34
35
36
37
38
# File 'lib/helios/videos.rb', line 29

def processor_for(provider_type)
  case provider_type.to_sym
  when :cloudflare
    Processors::Cloudflare.new(configuration)
  when :mux
    Processors::Mux.new(configuration)
  else
    raise "Unknown video processor: #{provider_type}. Use :cloudflare or :mux"
  end
end

.video_classObject



19
20
21
# File 'lib/helios/videos.rb', line 19

def video_class
  configuration.video_model.constantize
end