class Lolcommits::Lolsrv
Public Class Methods
name()
click to toggle source
# File lib/lolcommits/plugins/lolsrv.rb, line 50 def self.name 'lolsrv' end
new(runner)
click to toggle source
Calls superclass method
Lolcommits::Plugin::new
# File lib/lolcommits/plugins/lolsrv.rb, line 7 def initialize(runner) super options << 'server' end
runner_order()
click to toggle source
# File lib/lolcommits/plugins/lolsrv.rb, line 54 def self.runner_order :postcapture end
Public Instance Methods
configured?()
click to toggle source
# File lib/lolcommits/plugins/lolsrv.rb, line 17 def configured? !configuration['enabled'].nil? && configuration['server'] end
existing_lols()
click to toggle source
# File lib/lolcommits/plugins/lolsrv.rb, line 30 def existing_lols lols = JSON.parse( RestClient.get(configuration['server'] + '/lols')) lols.map { |lol| lol['sha'] } rescue => e log_error(e, "ERROR: existing lols could not be retrieved #{e.class} - #{e.message}") return nil end
run_postcapture()
click to toggle source
# File lib/lolcommits/plugins/lolsrv.rb, line 12 def run_postcapture return unless valid_configuration? fork { sync } end
sync()
click to toggle source
# File lib/lolcommits/plugins/lolsrv.rb, line 21 def sync existing = existing_lols return unless existing.nil? Dir[runner.config.loldir + '/*.{jpg,gif}'].each do |item| sha = File.basename(item, '.*') upload(item, sha) unless existing.include?(sha) || sha == 'tmp_snapshot' end end
upload(file, sha)
click to toggle source
# File lib/lolcommits/plugins/lolsrv.rb, line 39 def upload(file, sha) RestClient.post(configuration['server'] + '/uplol', :lol => File.new(file), :url => runner.git_info.url + sha, :repo => runner.git_info.repo, :date => File.ctime(file), :sha => sha) rescue => e log_error(e, "ERROR: Upload of lol #{sha} FAILED #{e.class} - #{e.message}") end