Class: Legion::Extensions::Github::App::Actor::WebhookPoller

Inherits:
Actors::Poll
  • Object
show all
Defined in:
lib/legion/extensions/github/app/actor/webhook_poller.rb

Overview

rubocop:disable Legion/Extension/SelfContainedActorRunnerClass,Legion/Extension/EveryActorRequiresTime

Instance Method Summary collapse

Instance Method Details

#check_subtask?Boolean

Returns:

  • (Boolean)


10
# File 'lib/legion/extensions/github/app/actor/webhook_poller.rb', line 10

def check_subtask? = false

#enabled?Boolean

rubocop:disable Legion/Extension/ActorEnabledSideEffects

Returns:

  • (Boolean)


18
19
20
21
22
# File 'lib/legion/extensions/github/app/actor/webhook_poller.rb', line 18

def enabled?
  github_poll_settings[:owner] && github_poll_settings[:repo]
rescue StandardError => _e
  false
end

#generate_task?Boolean

Returns:

  • (Boolean)


11
# File 'lib/legion/extensions/github/app/actor/webhook_poller.rb', line 11

def generate_task? = false

#manualObject

rubocop:enable Legion/Extension/ActorEnabledSideEffects



25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# File 'lib/legion/extensions/github/app/actor/webhook_poller.rb', line 25

def manual
  settings = github_poll_settings
  owner = settings[:owner]
  repo = settings[:repo]
  return unless owner && repo

  client = Legion::Extensions::Github::Client.new
  return unless client.respond_to?(:list_events)

  result = client.list_events(owner: owner, repo: repo)
  events = result[:result]
  return unless events.is_a?(Array)

  events.each do |event|
    publish_event(event)
  end
rescue StandardError => e
  log.error("App::Actor::WebhookPoller: #{e.message}")
end

#timeObject



13
14
15
# File 'lib/legion/extensions/github/app/actor/webhook_poller.rb', line 13

def time
  60
end

#use_runner?Boolean

Returns:

  • (Boolean)


9
# File 'lib/legion/extensions/github/app/actor/webhook_poller.rb', line 9

def use_runner?    = false