Sha256: f76d15a7ca3d4f8b713df16384678d5e4c8cb99c33da30620295f77540432051

Contents?: true

Size: 709 Bytes

Versions: 6

Compression:

Stored size: 709 Bytes

Contents

class Whoops::NotificationSubscription
  include Mongoid::Document

  has_one :filter, :as => :filterable, :class_name => "Whoops::Filter"
  validates_presence_of :email
  
  field :email, :type => String

  before_save :downcase_email
  
  def downcase_email
    self.email.downcase!
  end

  class Matcher
    attr_accessor :event_group
    
    # @param [ Whoops::EventGroup ]
    def initialize(event_group)
      self.event_group = event_group
    end
    
    def matching_emails
      Whoops::NotificationSubscription.all.select do |ns|
        lookup = Whoops::AuthorizedServiceLookup.new(ns.email)
        ns.filter.matches_event_group?(self.event_group)
      end.collect(&:email)
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
whoops-0.5.5 app/models/whoops/notification_subscription.rb
whoops-0.5.4 app/models/whoops/notification_subscription.rb
whoops-0.5.3 app/models/whoops/notification_subscription.rb
whoops-0.5.2 app/models/whoops/notification_subscription.rb
whoops-0.5.1 app/models/whoops/notification_subscription.rb
whoops-0.5.0 app/models/whoops/notification_subscription.rb