module Gossiper::Concerns::Decorators::Notification

Attributes

notification[R]

Public Class Methods

new(notification) click to toggle source
# File lib/gossiper/concerns/decorators/notification.rb, line 11
def initialize(notification)
  @notification = notification
end

Public Instance Methods

created_at() click to toggle source
# File lib/gossiper/concerns/decorators/notification.rb, line 51
def created_at
  decorate_date(notification.created_at)
end
delivered_at() click to toggle source
# File lib/gossiper/concerns/decorators/notification.rb, line 47
def delivered_at
  decorate_date(notification.delivered_at)
end
email() click to toggle source
# File lib/gossiper/concerns/decorators/notification.rb, line 43
def email
  notification.to
end
email_object() click to toggle source
# File lib/gossiper/concerns/decorators/notification.rb, line 59
def email_object
  @email_object ||= Mailer.mail_for(notification)
end
kind() click to toggle source
# File lib/gossiper/concerns/decorators/notification.rb, line 23
def kind
  t("gossiper.notifications.#{notification.type.underscore}.title",
    default: notification.type.titleize
  )
end
method_missing(method, *args, &block) click to toggle source
# File lib/gossiper/concerns/decorators/notification.rb, line 15
def method_missing(method, *args, &block)
  notification.send(method, *args, &block)
end
read?() click to toggle source
# File lib/gossiper/concerns/decorators/notification.rb, line 39
def read?
  t(notification.read?.to_s)
end
respond_to?(method) click to toggle source
# File lib/gossiper/concerns/decorators/notification.rb, line 19
def respond_to?(method)
  notification.respond_to?(method)
end
status() click to toggle source
# File lib/gossiper/concerns/decorators/notification.rb, line 35
def status
  t("gossiper.notifications.status.#{notification.status}")
end
subject() click to toggle source
# File lib/gossiper/concerns/decorators/notification.rb, line 29
def subject
  t("gossiper.notifications.#{notification.type.underscore}.subject",
    default: kind
  )
end
updated_at() click to toggle source
# File lib/gossiper/concerns/decorators/notification.rb, line 55
def updated_at
  decorate_date(notification.updated_at)
end

Private Instance Methods

decorate_date(date) click to toggle source
# File lib/gossiper/concerns/decorators/notification.rb, line 69
def decorate_date(date)
  I18n.l(date, format: :short) if date
end
t(*args) click to toggle source
# File lib/gossiper/concerns/decorators/notification.rb, line 65
def t(*args)
  I18n.t(*args)
end