Class: Lolcommits::DotCom

Inherits:
Plugin
  • Object
show all
Defined in:
lib/lolcommits/plugins/dot_com.rb

Instance Attribute Summary

Attributes inherited from Plugin

#options, #runner

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Plugin

#configuration, #configure_options!, #debug, #execute, #is_enabled?, #puts, #valid_configuration?

Constructor Details

#initialize(runner) ⇒ DotCom

Returns a new instance of DotCom.



6
7
8
9
# File 'lib/lolcommits/plugins/dot_com.rb', line 6

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

Class Method Details

.nameObject



38
39
40
# File 'lib/lolcommits/plugins/dot_com.rb', line 38

def self.name
  'dot_com'
end

Instance Method Details

#is_configured?Boolean

Returns:

  • (Boolean)


31
32
33
34
35
36
# File 'lib/lolcommits/plugins/dot_com.rb', line 31

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

#runObject



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/lolcommits/plugins/dot_com.rb', line 11

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