Sha256: 11217e2f3c8e8dabee2a06c0e3a01051de3bb6f7c80fba4a37ff17bb572248b4
Contents?: true
Size: 1.78 KB
Versions: 7
Compression:
Stored size: 1.78 KB
Contents
# -*- encoding : utf-8 -*- require 'rest_client' require 'base64' module Lolcommits class Uploldz < Plugin attr_accessor :endpoint def initialize(runner) super options.concat( %w( endpoint optional_key optional_http_auth_username optional_http_auth_password ) ) end def run_postcapture return unless valid_configuration? if runner.git_info.repo.empty? puts 'Repo is empty, skipping upload' else debug "Posting capture to #{configuration['endpoint']}" RestClient.post(configuration['endpoint'], { :file => File.new(runner.main_image), :message => runner.message, :repo => runner.git_info.repo, :author_name => runner.git_info.author_name, :author_email => runner.git_info.author_email, :sha => runner.sha, :key => configuration['optional_key'] }, :Authorization => authorization_header ) end rescue => e log_error(e, "ERROR: RestClient POST FAILED #{e.class} - #{e.message}") end def configured? !configuration['enabled'].nil? && configuration['endpoint'] end def authorization_header user = configuration['optional_http_auth_username'] password = configuration['optional_http_auth_password'] return unless user || password 'Basic ' + Base64.encode64("#{user}:#{password}").chomp end def self.name 'uploldz' end def self.runner_order :postcapture end end end
Version data entries
7 entries across 7 versions & 2 rubygems