Add Ruby environment (#223)

Adds a Ruby environment and examples.
This commit is contained in:
S. Brent Faulkner
2017-06-17 10:48:05 -07:00
committed by Soam Vasani
parent 0207d13b23
commit a8e7ec534b
8 changed files with 196 additions and 0 deletions
+33
View File
@@ -0,0 +1,33 @@
# frozen_string_literal: true
require 'net/http'
require 'uri'
require 'json'
SLACK_BASE_URL = 'https://hooks.slack.com/'
SLACK_WEBHOOK_PATH = 'YOUR RELATIVE PATH HERE' # Something like "/services/XXX/YYY/zZz123"
def send_slack_message(message)
uri = URI.join(SLACK_BASE_URL, SLACK_WEBHOOK_PATH)
data = "{'channel': '#hackdays-serverless', 'username': 'fissionbot', 'text': \"#{message}\", 'icon_emoji': ':fission:'}"
res = Net::HTTP.post_form(uri, payload: data)
res.success?
end
def handler(context)
request = context.request
event_type = request.headers['X-Kubernetes-Event-Type']
object_type = request.headers['X-Kubernetes-Object-Type']
object = JSON.parse(request.body.read)
object_name = object.dig('metadata', 'name')
object_namespace = object.dig('metadata', 'namespace')
message = "#{event_type} #{object_type} #{object_namespace}/#{object_name}"
if send_slack_message(message)
"Slack message sent - #{message}"
else
Rack::Response.new(["Failed to send Slack message - #{message}"], 500).finish
end
end
+4
View File
@@ -0,0 +1,4 @@
# frozen_string_literal: true
def handler
"Hello, world!\n"
end
+19
View File
@@ -0,0 +1,19 @@
# frozen_string_literal: true
def handler(context)
request = context.request
msg = <<~MSG
---ENV---
#{request.env.map { |h| h.join('=') }.join("\n") }
---HEADERS---
#{request.headers.map { |h| h.join(': ') }.join("\n") }
---PARAMS---
#{request.params.map { |h| h.join('=') }.join("\n") }
--BODY--
#{request.body.read}
MSG
Rack::Response.new([msg]).finish
end