class Courier::Service::Base

Public Class Methods

config() click to toggle source
# File lib/courier/service/base.rb, line 31
def config
  @config
end
configure() { |config| ... } click to toggle source
# File lib/courier/service/base.rb, line 27
def configure
  yield @config
end
inherited(subclass) click to toggle source
Calls superclass method
# File lib/courier/service/base.rb, line 22
def inherited(subclass)
  subclass.instance_variable_set('@config', OpenStruct.new)
  super
end

Public Instance Methods

check_args(owner, template, args) click to toggle source
# File lib/courier/service/base.rb, line 36
def check_args owner, template, args
  # args[:text]||=template.get_text(self, args)
end
deliver_all!() click to toggle source
# File lib/courier/service/base.rb, line 65
def deliver_all!
  messages.fresh.each do |message|
    deliver_message(message) and message.mark_as_delivered!
  end
end
deliver_message(message) click to toggle source
# File lib/courier/service/base.rb, line 57
def deliver_message(message)
  raise 'inherit and implement me'
end
message(owner, template, args) click to toggle source
# File lib/courier/service/base.rb, line 40
def message(owner, template, args)
  check_args owner, template, args
  Courier::Message.create! :owner=>owner, :template=>template.name, :service=>name, :options=>args
end
messages() click to toggle source
# File lib/courier/service/base.rb, line 61
def messages
  Courier::Message.by_service(name)
end
name() click to toggle source
# File lib/courier/service/base.rb, line 53
def name
  self.class.name.demodulize.underscore.to_sym
end
to_label() click to toggle source
# File lib/courier/service/base.rb, line 49
def to_label
  I18n::translate(:label, :scope=>[:courier, :services, name] )
end
to_s() click to toggle source
# File lib/courier/service/base.rb, line 45
def to_s
  name
end