module ActiveEncode::Core

Public Class Methods

new(input_url, options = nil) click to toggle source
# File lib/active_encode/core.rb, line 47
def initialize(input_url, options = nil)
  @input = Input.new.tap { |input| input.url = input_url }
  @options = self.class.default_options(input_url).merge(Hash(options))
end

Public Instance Methods

cancel!() click to toggle source
# File lib/active_encode/core.rb, line 58
def cancel!
  run_callbacks :cancel do
    merge!(self.class.engine_adapter.cancel(id))
  end
end
create!() click to toggle source
# File lib/active_encode/core.rb, line 52
def create!
  run_callbacks :create do
    merge!(self.class.engine_adapter.create(input.url, options))
  end
end
created?() click to toggle source
# File lib/active_encode/core.rb, line 70
def created?
  !id.nil?
end
reload() click to toggle source
# File lib/active_encode/core.rb, line 64
def reload
  run_callbacks :reload do
    merge!(self.class.engine_adapter.find(id))
  end
end

Protected Instance Methods

merge!(encode) click to toggle source
# File lib/active_encode/core.rb, line 76
def merge!(encode)
  @id = encode.id
  @input = encode.input
  @output = encode.output
  @options = encode.options
  @state = encode.state
  @errors = encode.errors
  @created_at = encode.created_at
  @updated_at = encode.updated_at
  @current_operations = encode.current_operations
  @percent_complete = encode.percent_complete

  self
end