module Statuspageio::Client::Subscriber

Constants

SUBSCRIBER_OPTIONS

Public Instance Methods

create_subscriber(options) click to toggle source
# File lib/statuspageio/client/subscriber.rb, line 27
def create_subscriber(options)
  create_options = options.dup.slice(*SUBSCRIBER_OPTIONS)

  if valid_for_subscribing?(create_options)
    post("/pages/#{self.page_id}/subscribers", { subscriber: create_options })
  else
    raise ArgumentError, 'An email address or phone number with the two digit country code is required'
  end
end
delete_subscriber(subscriber_id, incident_id: nil) click to toggle source
# File lib/statuspageio/client/subscriber.rb, line 37
def delete_subscriber(subscriber_id, incident_id: nil)
  if incident_id
    delete("/pages/#{self.page_id}/incidents/#{incident_id}/subscribers/#{subscriber_id}")
  else
    delete("/pages/#{self.page_id}/subscribers/#{subscriber_id}")
  end
end
search_subscribers(q) click to toggle source
# File lib/statuspageio/client/subscriber.rb, line 22
def search_subscribers(q)
  return subscribers if q.nil? || q.empty?
  get("/pages/#{self.page_id}/subscribers", { q: q })
end
subscribers(incident_id: nil) click to toggle source
# File lib/statuspageio/client/subscriber.rb, line 14
def subscribers(incident_id: nil)
  if incident_id
    get("/pages/#{self.page_id}/incidents/#{incident_id}/subscribers")
  else
    get("/pages/#{self.page_id}/subscribers")
  end
end

Private Instance Methods

valid_for_subscribing?(options) click to toggle source
# File lib/statuspageio/client/subscriber.rb, line 47
def valid_for_subscribing?(options)
  !(options[:email].empty? && (options[:phone_country].empty? || options[:phone_number].empty?))
end