Module: Flapjack::Pikelet
- Defined in:
- lib/flapjack/pikelet.rb
Defined Under Namespace
Classes: Base, Generic, HTTP
Constant Summary
collapse
- WRAPPERS =
[Flapjack::Pikelet::Generic, Flapjack::Pikelet::HTTP]
- TYPES =
{'jsonapi' => [Flapjack::Gateways::JSONAPI],
'email' => [Flapjack::Gateways::Email],
'notifier' => [Flapjack::Notifier],
'processor' => [Flapjack::Processor],
'jabber' => [Flapjack::Gateways::Jabber::Bot,
Flapjack::Gateways::Jabber::Notifier,
Flapjack::Gateways::Jabber::Interpreter],
'oobetet' => [Flapjack::Gateways::Oobetet::Bot,
Flapjack::Gateways::Oobetet::Notifier],
'pagerduty' => [Flapjack::Gateways::PagerDuty::Notifier,
Flapjack::Gateways::PagerDuty::AckFinder],
'slack' => [Flapjack::Gateways::Slack],
'sms' => [Flapjack::Gateways::SmsMessagenet],
'sms_nexmo' => [Flapjack::Gateways::SmsNexmo],
'sms_twilio' => [Flapjack::Gateways::SmsTwilio],
'sms_aspsms' => [Flapjack::Gateways::SmsAspsms],
'aws_sns' => [Flapjack::Gateways::AwsSns],
'web' => [Flapjack::Gateways::Web],
}
Class Method Summary
collapse
Class Method Details
.create(type, shutdown, opts = {}) ⇒ Object
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
|
# File 'lib/flapjack/pikelet.rb', line 234
def self.create(type, shutdown, opts = {})
config = opts[:config] || {}
types = TYPES[type]
return [] if types.nil?
created = types.collect {|pikelet_class|
wrapper = WRAPPERS.detect {|wrap| wrap::TYPES.include?(type) }
logger_name = if TYPES[type].size == 1
"flapjack-#{type}"
else
"flapjack-#{type}-#{pikelet_class.name.demodulize.underscore}"
end
wrapper.new(pikelet_class, shutdown, :logger_name => logger_name,
:config => config, :boot_time => opts[:boot_time])
}
created.each {|c| c.siblings = created - [c] }
created
end
|
.is_pikelet?(type) ⇒ Boolean
230
231
232
|
# File 'lib/flapjack/pikelet.rb', line 230
def self.is_pikelet?(type)
TYPES.has_key?(type)
end
|