class Proxy::Omaha::Syncer

Public Instance Methods

run() click to toggle source
# File lib/smart_proxy_omaha/syncer.rb, line 9
def run
  if sync_count == 0
    logger.info "Syncing is disabled."
    return
  end

  Proxy::Omaha::Track.all.each do |track|
    logger.debug "Syncing track: #{track}..."
    releases = release_provider(track).releases
    releases.last(sync_count).each do |release|
      sync_release(track, release)
    end
    update_current_release(track, releases.last) if releases.any?
  end
end
sync_release(track, release) click to toggle source
# File lib/smart_proxy_omaha/syncer.rb, line 25
def sync_release(track, release)
  if release.exists?
    if !release.valid?
      logger.info "#{track} release #{release} is invalid. Purging."
      release.purge
    elsif release.complete?
      logger.info "#{track} release #{release} exists, is complete and valid. Skipping sync."
      return
    end
  end
  release.create
end
update_current_release(track, release) click to toggle source
# File lib/smart_proxy_omaha/syncer.rb, line 38
def update_current_release(track, release)
  logger.debug "#{track}: Updating current release to #{release}"
  release.mark_as_current!
end

Private Instance Methods

release_provider(track) click to toggle source
# File lib/smart_proxy_omaha/syncer.rb, line 49
def release_provider(track)
  @release_provider ||= {}
  @release_provider[track] ||= ReleaseProvider.new(
    :track => track
  )
end
sync_count() click to toggle source
# File lib/smart_proxy_omaha/syncer.rb, line 45
def sync_count
  Proxy::Omaha::Plugin.settings.sync_releases.to_i
end