Sha256: d2147bff24f110c5eb92afb870a346e70a551a7c8943325c6ca3e8d9d4801380

Contents?: true

Size: 801 Bytes

Versions: 5

Compression:

Stored size: 801 Bytes

Contents

module Janky
  module GitHub
    class Payload
      def self.parse(json)
        parsed = PayloadParser.new(json)
        new(parsed.uri, parsed.branch, parsed.head, parsed.commits, parsed.compare)
      end

      def initialize(uri, branch, head, commits, compare)
        @uri     = uri
        @branch  = branch
        @head    = head
        @commits = commits
        @compare = compare
      end

      attr_reader :uri, :branch, :head, :commits, :compare

      def head_commit
        @commits.detect do |commit|
          commit.sha1 == @head
        end
      end

      def to_json
        { :after   => @head,
          :ref     => "refs/heads/#{@branch}",
          :uri     => @uri,
          :commits => @commits,
          :compare => @compare }.to_json
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
janky-0.9.12 lib/janky/github/payload.rb
janky-0.9.11 lib/janky/github/payload.rb
janky-0.9.10 lib/janky/github/payload.rb
janky-0.9.9 lib/janky/github/payload.rb
janky-0.9.0 lib/janky/github/payload.rb