class Gemometer::Notifiers::Mailgun

Attributes

domain[R]
to[R]

Public Class Methods

mandatory_options() click to toggle source
# File lib/gemometer/notifiers/mailgun.rb, line 13
def self.mandatory_options
  [:domain, :to, :key]
end
new(opts) click to toggle source
Calls superclass method Gemometer::Notifiers::Base::new
# File lib/gemometer/notifiers/mailgun.rb, line 7
def initialize(opts)
  @domain = opts[:domain]
  @to     = opts[:to]
  super(opts)
end

Public Instance Methods

message() click to toggle source
# File lib/gemometer/notifiers/mailgun.rb, line 17
def message
  msg = '<p>Outdated gems:</p><ul>'
  gems.each { |g| msg += "<li>#{ruby_gems_link(g.name)} #{g.message_line}</li>" }
  msg += '</ul>'
end
url() click to toggle source
# File lib/gemometer/notifiers/mailgun.rb, line 27
def url
  "https://api.mailgun.net/v3/#{domain}/messages"
end
username() click to toggle source
# File lib/gemometer/notifiers/mailgun.rb, line 23
def username
  'api'
end

Private Instance Methods

data() click to toggle source
# File lib/gemometer/notifiers/mailgun.rb, line 33
def data
  {
    from:    sender,
    to:      to,
    html:    message,
    subject: 'Some gems are Outdated'
  }
end
json?() click to toggle source
# File lib/gemometer/notifiers/mailgun.rb, line 50
def json?
  false
end
require_auth?() click to toggle source
# File lib/gemometer/notifiers/mailgun.rb, line 54
def require_auth?
  true
end
sender() click to toggle source
# File lib/gemometer/notifiers/mailgun.rb, line 42
def sender
  "Gemometer <gemometer@#{domain}>"
end