Sha256: 3023956f41a570c95f9e8369ac0fa54539c02105bed5a8a8880a76ed2b286c49
Contents?: true
Size: 1.25 KB
Versions: 14
Compression:
Stored size: 1.25 KB
Contents
#!/usr/bin/env ruby require 'flapjack/data/message' module Flapjack module Data class Notification attr_accessor :event, :type def self.for_event(event, opts = {}) self.new(:event => event, :type => opts[:type]) end def messages(opts = {}) contacts = opts[:contacts] return [] if contacts.nil? @messages ||= contacts.collect {|contact| contact.media.keys.inject([]) { |ret, mk| m = Flapjack::Data::Message.for_contact(:contact => contact) m.notification = self m.medium = mk m.address = contact.media[mk] ret << m ret } }.flatten end def contents @contents ||= {'event_id' => event.id, 'state' => event.state, 'summary' => event.summary, 'time' => event.time, 'duration' => event.duration || nil, 'notification_type' => type} end private def initialize(opts = {}) raise "Event not passed" unless event = opts[:event] @event = event @type = opts[:type] end end end end
Version data entries
14 entries across 14 versions & 1 rubygems