class Controll::Notify::Message::Translator

Attributes

caller[R]
key[R]
options[R]

Public Class Methods

new(caller, message) click to toggle source
# File lib/controll/notify/message/translator.rb, line 7
def initialize caller, message
  @caller   = caller
  @key      = message.text
  @options  = message.options.symbolize_keys
end

Public Instance Methods

translate() click to toggle source
# File lib/controll/notify/message/translator.rb, line 13
def translate
  I18n.t i18n_key, options
end

Protected Instance Methods

clazz_postfix() click to toggle source
# File lib/controll/notify/message/translator.rb, line 39
def clazz_postfix
  'Handler'
end
i18n_key() click to toggle source
# File lib/controll/notify/message/translator.rb, line 19
def i18n_key
  [namespace_key, key].join('.')
end
namespace() click to toggle source
# File lib/controll/notify/message/translator.rb, line 31
def namespace
  (parts.first == 'Notifiers' ? parts[1..-2] : parts[0..-2]).join('.').underscore          
end
namespace_key() click to toggle source
# File lib/controll/notify/message/translator.rb, line 23
def namespace_key
  [namespace, type].join('.').sub /^\\./, ''
end
parts() click to toggle source
# File lib/controll/notify/message/translator.rb, line 27
def parts
  @parts ||= caller.class.name.split('::')
end
type() click to toggle source
# File lib/controll/notify/message/translator.rb, line 35
def type
  parts.last.sub(/#{clazz_postfix}$/, '').underscore
end