Module: ReactEmailRails
- Defined in:
- lib/react_email_rails.rb,
lib/react_email_rails.rb,
lib/react_email_rails/version.rb,
lib/react_email_rails/rendered_email.rb,
lib/react_email_rails/render_protocol.rb,
lib/generators/react_email_rails/email_generator.rb,
lib/generators/react_email_rails/install_generator.rb
Defined Under Namespace
Modules: ActionMailer, Generators, RenderModes, RenderProtocol
Classes: Configuration, PropsResolver, Railtie, RenderError, RenderedEmail
Constant Summary
collapse
- VERSION =
"0.1.0"
- RENDER_PROTOCOL_VERSION =
1
Class Method Summary
collapse
Class Method Details
.configuration ⇒ Object
30
31
32
|
# File 'lib/react_email_rails.rb', line 30
def configuration
@configuration ||= Configuration.default
end
|
34
35
36
|
# File 'lib/react_email_rails.rb', line 34
def configure
yield(configuration)
end
|
.healthy? ⇒ Boolean
49
50
51
52
53
54
55
56
|
# File 'lib/react_email_rails.rb', line 49
def healthy?
configuration.resolved_render_mode.healthy?(
command: configuration.send(:resolved_render_command),
timeout: configuration.render_timeout,
)
rescue StandardError
false
end
|
.render(component:, props:, render_options: configuration.resolve_render_options) ⇒ Object
38
39
40
41
42
43
44
45
46
47
|
# File 'lib/react_email_rails.rb', line 38
def render(component:, props:, render_options: configuration.resolve_render_options)
ActiveSupport::Notifications.instrument("render.react-email-rails", component:) do |payload|
configuration.resolved_render_mode.new(component:, props:, render_options:).render.tap do |rendered|
payload[:html_bytes] = rendered.html.bytesize
end
end
rescue ReactEmailRails::RenderError => e
configuration.on_render_error&.call(e, component:)
raise
end
|