class Magnum::Payload::Base
Constants
- GIT_ZERO_SHA
Attributes
branch[R]
commit[R]
commit_url[R]
committer[R]
committer_email[R]
compare_url[R]
data[R]
message[R]
raw_data[R]
skip[R]
test[R]
Public Class Methods
new(payload)
click to toggle source
# File lib/magnum/payload/base.rb, line 26 def initialize(payload) set_defaults @raw_data = payload @data = parse_payload(payload) parse! @skip = skip_message? unless @skip end
Public Instance Methods
attributes_hash()
click to toggle source
# File lib/magnum/payload/base.rb, line 37 def attributes_hash { "commit" => commit, "branch" => branch, "author" => author, "committer" => committer, "message" => message, "commit_url" => commit_url, "compare_url" => compare_url } end
parse!()
click to toggle source
# File lib/magnum/payload/base.rb, line 49 def parse! raise "Not implemented in base class" end
skip?()
click to toggle source
# File lib/magnum/payload/base.rb, line 53 def skip? skip == true end
Private Instance Methods
parse_payload(payload)
click to toggle source
# File lib/magnum/payload/base.rb, line 64 def parse_payload(payload) if payload.kind_of?(String) Hashr.new(JSON.parse(payload)) elsif payload.kind_of?(Hash) Hashr.new(payload) else raise ArgumentError, "String or Hash required" end rescue JSON::ParserError raise Magnum::Payload::ParseError, "Valid JSON required" end
set_defaults()
click to toggle source
# File lib/magnum/payload/base.rb, line 59 def set_defaults @skip = false # Do not skip @test = false # Do not treat as test payload end