Sha256: 1fbff72d3f191e884de669fa06516af91bc63c49197a02ee16c3a2617a791ba1

Contents?: true

Size: 1.03 KB

Versions: 4

Compression:

Stored size: 1.03 KB

Contents

require 'httmultiparty'

module Lolcommits
  class DotCom < Plugin

    def initialize(runner)
      super
      self.options.concat(['api_key', 'api_secret', 'repo_id'])
    end

    def run
      return unless valid_configuration?

      t = Time.now.to_i.to_s
      resp = HTTMultiParty.post('http://www.lolcommits.com/git_commits.json',
        :body => {
          :git_commit => {
            :sha              => self.runner.sha,
            :repo_external_id => configuration['repo_id'],
            :image            => File.open(self.runner.main_image),
            :raw              => File.open(self.runner.snapshot_loc)
          },

          :key   => configuration['api_key'],
          :t     => t,
          :token =>  Digest::SHA1.hexdigest(configuration['api_secret'] + t)
        }
      )
    end

    def is_configured?
      !configuration['enabled'].nil? &&
        configuration['api_key'] &&
        configuration['api_secret'] &&
        configuration['repo_id']
    end

    def self.name
      'dot_com'
    end
  end
end

Version data entries

4 entries across 4 versions & 2 rubygems

Version Path
lolcommits-mpv-0.5.3 lib/lolcommits/plugins/dot_com.rb
lolcommits-mpv-0.5.2 lib/lolcommits/plugins/dot_com.rb
lolcommits-0.5.2 lib/lolcommits/plugins/dot_com.rb
lolcommits-0.5.2.pre1 lib/lolcommits/plugins/dot_com.rb