class Hanami::Mailer::Rendering::TemplateName

@since 0.1.0 @api private

TODO this is identical to Hanami::View, consider to move into Hanami::Utils

Constants

NAMESPACE_SEPARATOR

@since 0.1.0 @api private

Public Class Methods

new(name, namespace) click to toggle source

@since 0.1.0 @api private

# File lib/hanami/mailer/rendering/template_name.rb, line 19
def initialize(name, namespace)
  @name = name
  compile!(namespace)
end

Public Instance Methods

to_s() click to toggle source

@since 0.1.0 @api private

# File lib/hanami/mailer/rendering/template_name.rb, line 26
def to_s
  @name
end

Private Instance Methods

compile!(namespace) click to toggle source

@since 0.1.0 @api private

# File lib/hanami/mailer/rendering/template_name.rb, line 34
def compile!(namespace)
  tokens(namespace) { |token| replace!(token) }
  @name = Utils::String.underscore(@name)
end
replace!(token) click to toggle source

@since 0.1.0 @api private

# File lib/hanami/mailer/rendering/template_name.rb, line 49
def replace!(token)
  @name = @name.gsub(/\A#{token}#{NAMESPACE_SEPARATOR}/, "")
end
tokens(namespace) { |token| ... } click to toggle source

@since 0.1.0 @api private

# File lib/hanami/mailer/rendering/template_name.rb, line 41
def tokens(namespace)
  namespace.to_s.split(NAMESPACE_SEPARATOR).each do |token|
    yield token
  end
end