Class: Hls::Generators::InstallGenerator

Inherits:
Rails::Generators::Base
  • Object
show all
Defined in:
lib/generators/hls/install/install_generator.rb

Overview

Bootstraps a host Rails app for the HLS gem:

- config/initializers/hls.rb (bucket + S3 resource config)
- app/videos/application_video.rb (base profile class)

Usage:

bin/rails g hls:install

Instance Method Summary collapse

Instance Method Details

#create_application_videoObject



21
22
23
# File 'lib/generators/hls/install/install_generator.rb', line 21

def create_application_video
  template "application_video.rb", "app/videos/application_video.rb"
end

#create_initializerObject



17
18
19
# File 'lib/generators/hls/install/install_generator.rb', line 17

def create_initializer
  template "initializer.rb", "config/initializers/hls.rb"
end

#post_install_messageObject



25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# File 'lib/generators/hls/install/install_generator.rb', line 25

def post_install_message
  say <<~MSG

    HLS installed.

    Next steps:
      1. Set the env vars referenced in config/initializers/hls.rb
         (VIDEO_AWS_ACCESS_KEY_ID, VIDEO_S3_BUCKET_NAME, etc.)
      2. Generate your first profile:
           bin/rails g hls:video Course
      3. Encode + upload a video:
           CourseVideo.new(input: HLS::Input.new("lecture.mp4"),
                           output: Pathname.new("tmp/encoded")).process
  MSG
end