Sha256: 4844dfe9cc044ad58c5d25b9f0e6f471bc60bd8582cb9b59316cd2777755880f
Contents?: true
Size: 1.17 KB
Versions: 10
Compression:
Stored size: 1.17 KB
Contents
module Janky module GitHub class PayloadParser def initialize(json) @payload = Yajl.load(json) end def pusher @payload["pusher"]["name"] end def head @payload["after"] end def compare @payload["compare"] end def commits @payload["commits"].map do |commit| GitHub::Commit.new( commit["id"], commit["url"], commit["message"], normalize_author(commit["author"]), commit["timestamp"] ) end end def normalize_author(author) if email = author["email"] "#{author["name"]} <#{email}>" else author end end def uri if uri = @payload["uri"] return uri end repository = @payload["repository"] if repository["private"] "git@#{GitHub.git_host}:#{URI(repository["url"]).path[1..-1]}" else uri = URI(repository["url"]) uri.scheme = "git" uri.to_s end end def branch @payload["ref"].split("refs/heads/").last end end end end
Version data entries
10 entries across 10 versions & 1 rubygems