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

Version Path
flapjack-0.7.1 lib/flapjack/data/notification.rb
flapjack-0.7.0 lib/flapjack/data/notification.rb
flapjack-0.6.61 lib/flapjack/data/notification.rb
flapjack-0.6.60 lib/flapjack/data/notification.rb
flapjack-0.6.59 lib/flapjack/data/notification.rb
flapjack-0.6.58 lib/flapjack/data/notification.rb
flapjack-0.6.57 lib/flapjack/data/notification.rb
flapjack-0.6.56 lib/flapjack/data/notification.rb
flapjack-0.6.55 lib/flapjack/data/notification.rb
flapjack-0.6.54 lib/flapjack/data/notification.rb
flapjack-0.6.53 lib/flapjack/data/notification.rb
flapjack-0.6.52 lib/flapjack/data/notification.rb
flapjack-0.6.51 lib/flapjack/data/notification.rb
flapjack-0.6.50 lib/flapjack/data/notification.rb