Class: Lolcommits::Plugin::Uploldz

Inherits:
Base
  • Object
show all
Defined in:
lib/lolcommits/plugin/uploldz.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(runner: nil, config: nil, name: nil) ⇒ Uploldz

Initialize plugin with runner, config and set all configurable options.



16
17
18
19
# File 'lib/lolcommits/plugin/uploldz.rb', line 16

def initialize(runner: nil, config: nil, name: nil)
  super
  options.concat(plugin_options)
end

Instance Attribute Details

#endpointObject

Returns the value of attribute endpoint.



10
11
12
# File 'lib/lolcommits/plugin/uploldz.rb', line 10

def endpoint
  @endpoint
end

Instance Method Details

#run_capture_readyRestClient::Response, Nil

Post-capture hook, runs after lolcommits captures a snapshot. Uploads # the lolcommit to the remote server with an optional Authorization header and the following request params.

‘file` - captured lolcommit file `message` - the commit message `repo` - repository name e.g. lolcommits/lolcommits `sha` - commit SHA `key` - key (string) from plugin configuration (optional) `author_name` - the commit author name `author_email` - the commit author email address

Returns:

  • (RestClient::Response)

    response object from POST request

  • (Nil)

    if any error occurs



49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
# File 'lib/lolcommits/plugin/uploldz.rb', line 49

def run_capture_ready
  debug "Posting capture to #{configuration[:endpoint]}"

  RestClient.post(
    configuration[:endpoint],
    {
      file: File.new(runner.lolcommit_path),
      message: runner.message,
      repo: runner.vcs_info.repo,
      author_name: runner.vcs_info.author_name,
      author_email: runner.vcs_info.author_email,
      sha: runner.sha,
      key: configuration[:optional_key]
    },
    Authorization: authorization_header
  )
rescue => e
  log_error(e, "ERROR: RestClient POST FAILED #{e.class} - #{e.message}")
end

#valid_configuration?Boolean

Returns true/false indicating if the plugin has been correctly configured. The ‘endpoint` option must be set with a URL beginning with http(s)://

configured

Returns:

  • (Boolean)

    true/false indicating if plugin is correctly



29
30
31
# File 'lib/lolcommits/plugin/uploldz.rb', line 29

def valid_configuration?
  !!(configuration[:endpoint] =~ /^http(s)?:\/\//)
end