class Lolcommits::Lolsrv
Public Class Methods
name()
click to toggle source
# File lib/lolcommits/plugins/lolsrv.rb, line 68 def self.name "lolsrv" end
new(runner)
click to toggle source
Calls superclass method
Lolcommits::Plugin::new
# File lib/lolcommits/plugins/lolsrv.rb, line 9 def initialize(runner) super self.options << 'server' if self.runner @logger = Logger.new(File.new(self.runner.config.loldir + "/lolsrv.log", "a+")) end end
Public Instance Methods
get_existing_lols()
click to toggle source
# File lib/lolcommits/plugins/lolsrv.rb, line 38 def get_existing_lols begin 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 end
is_configured?()
click to toggle source
# File lib/lolcommits/plugins/lolsrv.rb, line 22 def is_configured? !configuration["enabled"].nil? && configuration["server"] end
log_error(e, message)
click to toggle source
# File lib/lolcommits/plugins/lolsrv.rb, line 62 def log_error(e, message) debug message @logger.info message @logger.info e.backtrace end
run()
click to toggle source
# File lib/lolcommits/plugins/lolsrv.rb, line 17 def run return unless valid_configuration? fork { sync() } end
sync()
click to toggle source
# File lib/lolcommits/plugins/lolsrv.rb, line 26 def sync existing = get_existing_lols unless existing.nil? Dir[self.runner.config.loldir + "/*.{jpg,gif}"].each do |item| sha = File.basename(item, ".*") unless existing.include?(sha) || sha == "tmp_snapshot" upload(item, sha) end end end end
upload(file, sha)
click to toggle source
# File lib/lolcommits/plugins/lolsrv.rb, line 49 def upload(file, sha) begin RestClient.post( configuration["server"] + "/uplol", :lol => File.new(file), :sha => sha ) rescue => e log_error(e,"ERROR: Upload of lol #{sha} FAILED #{e.class} - #{e.message}") return end end