Skip to Content Skip to Search
Methods
A
M
N
R
Included Modules

Attributes

[R] body
[R] computed_data
[R] data
[R] layout
[R] options
[R] path
[R] site
[R] template
[R] test

Class Public methods

new(path:, site:, data:)

# File app/services/service/email_preparer.rb, line 19
def initialize(path:, site:, data:)
  @path = path
  @site = site
  @data = data
  @test = !!data.fetch(:test, false)
  @template = get_path_template
  @layout = get_layout_template
end

Instance Public methods

as_json()

# File app/services/service/email_preparer.rb, line 49
def as_json
  ActiveModelSerializers::SerializableResource.new(self)
end

member()

# File app/services/service/email_preparer.rb, line 45
def member
  @member ||= DB::Member.find_by(id: member_id) || data[:member]
end

metadata()

# File app/services/service/email_preparer.rb, line 41
def metadata
  @metadata ||= {}
end

render()

# File app/services/service/email_preparer.rb, line 28
def render
  I18n.with_locale(settings.language) do
    @options, @computed_data = send("setup_#{path}")

    return if options.nil? && computed_data.nil?

    options[:subject] = get_subject
    @body = render_body

    return self
  end
end