class Backup::Notifier::Campfire

Attributes

api_token[RW]

Campfire api authentication token

room_id[RW]

Campfire account’s room id

subdomain[RW]

Campfire account’s subdomain

Public Class Methods

new(model, &block) click to toggle source
Calls superclass method Backup::Notifier::Base::new
# File lib/backup/notifier/campfire.rb, line 18
def initialize(model, &block)
  super
  instance_eval(&block) if block_given?
end

Private Instance Methods

notify!(status) click to toggle source

Notify the user of the backup operation results.

‘status` indicates one of the following:

‘:success` : The backup completed successfully. : Notification will be sent if `on_success` is `true`.

‘:warning` : The backup completed successfully, but warnings were logged. : Notification will be sent if `on_warning` or `on_success` is `true`.

‘:failure` : The backup operation failed. : Notification will be sent if `on_warning` or `on_success` is `true`.

# File lib/backup/notifier/campfire.rb, line 42
def notify!(status)
  send_message(message.call(model, status: status_data_for(status)))
end
send_message(message) click to toggle source
# File lib/backup/notifier/campfire.rb, line 46
def send_message(message)
  uri = "https://#{subdomain}.campfirenow.com/room/#{room_id}/speak.json"
  options = {
    headers: { "Content-Type" => "application/json" },
    body: JSON.dump(
      message: { body: message, type: "Textmessage" }
    )
  }
  options[:user] = api_token
  options[:password] = "x" # Basic Auth
  options[:expects] = 201 # raise error if unsuccessful
  Excon.post(uri, options)
end