Module: Magnum::Payload
- Defined in:
- lib/magnum/payload.rb,
lib/magnum/payload/base.rb,
lib/magnum/payload/errors.rb,
lib/magnum/payload/version.rb
Defined Under Namespace
Modules: MessageParser
Classes: Base, Beanstalk, Bitbucket, Custom, Error, Github, Gitlab, ParseError, PayloadError
Constant Summary
collapse
- SOURCES =
%w(custom github gitlab bitbucket beanstalk)
- VERSION =
"0.4.0"
Class Method Summary
collapse
Class Method Details
.parse(source, payload) ⇒ Object
20
21
22
23
24
25
26
27
|
# File 'lib/magnum/payload.rb', line 20
def self.parse(source, payload)
unless valid_source?(source)
raise PayloadError, "Invalid payload type: #{source}"
end
klass = Magnum::Payload.const_get(source.to_s.capitalize)
klass.new(payload)
end
|
.valid_source?(source) ⇒ Boolean
16
17
18
|
# File 'lib/magnum/payload.rb', line 16
def self.valid_source?(source)
SOURCES.include?(source.to_s)
end
|