Class: Jackal::Github::Eventer
- Inherits:
-
Callback
- Object
- Callback
- Jackal::Github::Eventer
- Defined in:
- lib/jackal-github/eventer.rb
Overview
Process events
Instance Method Summary collapse
-
#execute(message) ⇒ Object
Format payload based on event type recevied.
-
#format_payload(message) ⇒ Smash
Format the github event to store within the payload.
-
#name_for_payload(event) ⇒ String
Provide payload name for given event.
-
#valid?(message) ⇒ Truthy, Falsey
Validity of message.
Instance Method Details
#execute(message) ⇒ Object
Format payload based on event type recevied
21 22 23 24 25 26 27 |
# File 'lib/jackal-github/eventer.rb', line 21 def execute() failure_wrap() do |_| content = format_payload() payload = new_payload(name_for_payload(content), content) job_completed(:github, payload, ) end end |
#format_payload(message) ⇒ Smash
Format the github event to store within the payload
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/jackal-github/eventer.rb', line 33 def format_payload() content = Smash.new g_payload = [:message][:body] g_headers = [:message][:headers] || {} g_query = [:message][:query] || {} content[:github] = g_payload.merge( Smash.new( :event => g_headers[:x_github_event], :query => g_query, :headers => g_headers, :url_path => [:message][:request].path ) ) content end |
#name_for_payload(event) ⇒ String
Note:
defaults to ‘github`
Provide payload name for given event
54 55 56 57 58 |
# File 'lib/jackal-github/eventer.rb', line 54 def name_for_payload(event) config.fetch(:names, event, config.fetch(:names, :default, :github) ) end |
#valid?(message) ⇒ Truthy, Falsey
Validity of message
12 13 14 15 16 |
# File 'lib/jackal-github/eventer.rb', line 12 def valid?() super do |_| [:message].get(:headers, :x_github_event) end end |