Class: GitHubWebHooksReceiver::Payload

Inherits:
Object
  • Object
show all
Defined in:
lib/github-web-hooks-receiver/payload.rb

Instance Method Summary collapse

Constructor Details

#initialize(data, metadata = {}) ⇒ Payload



19
20
21
22
# File 'lib/github-web-hooks-receiver/payload.rb', line 19

def initialize(data, ={})
  @data = data
   = 
end

Instance Method Details

#[](key) ⇒ Object



24
25
26
27
28
29
30
31
32
# 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_nameObject



52
53
54
# File 'lib/github-web-hooks-receiver/payload.rb', line 52

def event_name
  ["x-github-event"]
end

#github_gollum?Boolean



48
49
50
# File 'lib/github-web-hooks-receiver/payload.rb', line 48

def github_gollum?
  event_name == "gollum"
end

#gitlab?Boolean



44
45
46
# File 'lib/github-web-hooks-receiver/payload.rb', line 44

def gitlab?
  not self["user_name"].nil?
end

#repository_urlObject



34
35
36
37
38
39
40
41
42
# File 'lib/github-web-hooks-receiver/payload.rb', line 34

def repository_url
  if 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