Class: GIFGenerator

Inherits:
Object
  • Object
show all
Defined in:
lib/capa/gif_generator.rb

Instance Method Summary collapse

Constructor Details

#initialize(input_video: '', output_gif: '') ⇒ GIFGenerator

Returns a new instance of GIFGenerator.



4
5
6
7
8
9
# File 'lib/capa/gif_generator.rb', line 4

def initialize(input_video: '', output_gif: '')
  abort('Please provide a video to generate a GIF from') if input_video.blank?
  abort('Please provide a name for the GIF') if output_gif.blank?
  @input_video = input_video
  @output_gif = output_gif
end

Instance Method Details

#generateObject



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/capa/gif_generator.rb', line 11

def generate
  abort("File not found: #{@input_video}") unless File.exists?(@input_video)
  puts "Generating GIF, please wait..."
  `gifify #{@input_video} -o #{@output_gif} --resize 300:-1 --colors 220 --fps 7`
  output_directory = Dir.pwd
  video_path = "#{output_directory}/#{@input_video}"
  gif_path = "#{output_directory}/#{@output_gif}"
  
  if File.exists?(video_path)
    puts "Video: #{video_path}"
  else
    puts "Error generating video"
  end

  if File.exists?(gif_path)
    puts "GIF: #{gif_path}"
  else
    puts "Error generating GIF"
  end
end