Module: Shipit::Webhooks

Defined in:
app/models/shipit/webhooks.rb,
app/models/shipit/webhooks/handlers/handler.rb,
app/models/shipit/webhooks/handlers/push_handler.rb,
app/models/shipit/webhooks/handlers/status_handler.rb,
app/models/shipit/webhooks/handlers/membership_handler.rb,
app/models/shipit/webhooks/handlers/check_suite_handler.rb,
app/models/shipit/webhooks/handlers/pull_request/closed_handler.rb,
app/models/shipit/webhooks/handlers/pull_request/edited_handler.rb,
app/models/shipit/webhooks/handlers/pull_request/opened_handler.rb,
app/models/shipit/webhooks/handlers/pull_request/labeled_handler.rb,
app/models/shipit/webhooks/handlers/pull_request/assigned_handler.rb,
app/models/shipit/webhooks/handlers/pull_request/reopened_handler.rb,
app/models/shipit/webhooks/handlers/pull_request/unlabeled_handler.rb,
app/models/shipit/webhooks/handlers/pull_request/review_stack_adapter.rb,
app/models/shipit/webhooks/handlers/pull_request/label_capturing_handler.rb

Defined Under Namespace

Modules: Handlers

Class Method Summary collapse

Class Method Details

.default_handlersObject



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'app/models/shipit/webhooks.rb', line 6

def default_handlers
  {
    'push' => [Handlers::PushHandler],
    'pull_request' => [
      Handlers::PullRequest::OpenedHandler,
      Handlers::PullRequest::ClosedHandler,
      Handlers::PullRequest::ReopenedHandler,
      Handlers::PullRequest::EditedHandler,
      Handlers::PullRequest::AssignedHandler,
      Handlers::PullRequest::LabeledHandler,
      Handlers::PullRequest::UnlabeledHandler,
      Handlers::PullRequest::LabelCapturingHandler
    ],
    'status' => [Handlers::StatusHandler],
    'membership' => [Handlers::MembershipHandler],
    'check_suite' => [Handlers::CheckSuiteHandler]
  }
end

.for_event(event) ⇒ Object



39
40
41
# File 'app/models/shipit/webhooks.rb', line 39

def for_event(event)
  handlers.fetch(event) { [] }
end

.handlersObject



25
26
27
# File 'app/models/shipit/webhooks.rb', line 25

def handlers
  @handlers ||= reset_handlers!
end

.register_handler(event, callable = nil, &block) ⇒ Object



33
34
35
36
37
# File 'app/models/shipit/webhooks.rb', line 33

def register_handler(event, callable = nil, &block)
  handlers[event] ||= []
  handlers[event] << callable if callable
  handlers[event] << block if block_given?
end

.reset_handlers!Object



29
30
31
# File 'app/models/shipit/webhooks.rb', line 29

def reset_handlers!
  @handlers = default_handlers
end