Module: Gossiper::Concerns::Decorators::Notification

Extended by:
ActiveSupport::Concern
Included in:
NotificationDecorator
Defined in:
lib/gossiper/concerns/decorators/notification.rb

Instance Method Summary collapse

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(method, *args, &block) ⇒ Object



15
16
17
# File 'lib/gossiper/concerns/decorators/notification.rb', line 15

def method_missing(method, *args, &block)
  notification.send(method, *args, &block)
end

Instance Method Details

#created_atObject



51
52
53
# File 'lib/gossiper/concerns/decorators/notification.rb', line 51

def created_at
  decorate_date(notification.created_at)
end

#delivered_atObject



47
48
49
# File 'lib/gossiper/concerns/decorators/notification.rb', line 47

def delivered_at
  decorate_date(notification.delivered_at)
end

#emailObject



43
44
45
# File 'lib/gossiper/concerns/decorators/notification.rb', line 43

def email
  notification.to
end

#email_objectObject



59
60
61
# File 'lib/gossiper/concerns/decorators/notification.rb', line 59

def email_object
  @email_object ||= Mailer.mail_for(notification)
end

#initialize(notification) ⇒ Object



11
12
13
# File 'lib/gossiper/concerns/decorators/notification.rb', line 11

def initialize(notification)
  @notification = notification
end

#kindObject



23
24
25
26
27
# File 'lib/gossiper/concerns/decorators/notification.rb', line 23

def kind
  t("gossiper.notifications.#{notification.type.underscore}.title",
    default: notification.type.titleize
  )
end

#read?Boolean

Returns:

  • (Boolean)


39
40
41
# File 'lib/gossiper/concerns/decorators/notification.rb', line 39

def read?
  t(notification.read?.to_s)
end

#respond_to?(method) ⇒ Boolean

Returns:

  • (Boolean)


19
20
21
# File 'lib/gossiper/concerns/decorators/notification.rb', line 19

def respond_to?(method)
  notification.respond_to?(method)
end

#statusObject



35
36
37
# File 'lib/gossiper/concerns/decorators/notification.rb', line 35

def status
  t("gossiper.notifications.status.#{notification.status}")
end

#subjectObject



29
30
31
32
33
# File 'lib/gossiper/concerns/decorators/notification.rb', line 29

def subject
  t("gossiper.notifications.#{notification.type.underscore}.subject",
    default: kind
  )
end

#updated_atObject



55
56
57
# File 'lib/gossiper/concerns/decorators/notification.rb', line 55

def updated_at
  decorate_date(notification.updated_at)
end