class GitHubWebHooksReceiver::Payload
Public Class Methods
new(data, metadata={})
click to toggle source
# File lib/github-web-hooks-receiver/payload.rb, line 19 def initialize(data, metadata={}) @data = data @metadata = metadata end
Public Instance Methods
[](key)
click to toggle source
# File lib/github-web-hooks-receiver/payload.rb, line 24 def [](key) key.split(".").inject(@data) do |current_data, current_key| if current_data current_data[current_key] else nil end end end
event_name()
click to toggle source
# File lib/github-web-hooks-receiver/payload.rb, line 58 def event_name if gitlab? self["object_kind"] else @metadata["x-github-event"] end end
github_gollum?()
click to toggle source
# File lib/github-web-hooks-receiver/payload.rb, line 54 def github_gollum? event_name == "gollum" end
gitlab?()
click to toggle source
# File lib/github-web-hooks-receiver/payload.rb, line 46 def gitlab? not self["object_kind"].nil? end
gitlab_wiki?()
click to toggle source
# File lib/github-web-hooks-receiver/payload.rb, line 50 def gitlab_wiki? event_name == "wiki_page" end
repository_url()
click to toggle source
# File lib/github-web-hooks-receiver/payload.rb, line 34 def repository_url if gitlab_wiki? self["wiki.git_ssh_url"] elsif gitlab? self["repository.url"] elsif github_gollum? self["repository.clone_url"].gsub(/(\.git)\z/, ".wiki\\1") else self["repository.clone_url"] || "#{self['repository.url']}.git" end end