Module: ActiveMail
- Extended by:
- T::Sig
- Defined in:
- lib/activemail/libxml.rb,
lib/activemail.rb,
lib/activemail/tokens.rb,
lib/activemail/quality.rb,
lib/activemail/version.rb,
lib/activemail/inliner/base.rb,
lib/activemail/inliner/null.rb,
lib/activemail/rails/engine.rb,
lib/activemail/configuration.rb,
lib/activemail/quality/guard.rb,
lib/activemail/quality/rspec.rb,
lib/activemail/components/cta.rb,
lib/activemail/components/row.rb,
lib/activemail/inliner/roadie.rb,
lib/activemail/components/base.rb,
lib/activemail/components/inky.rb,
lib/activemail/components/menu.rb,
lib/activemail/quality/minitest.rb,
lib/activemail/components/button.rb,
lib/activemail/components/center.rb,
lib/activemail/components/h_line.rb,
lib/activemail/components/spacer.rb,
lib/activemail/inliner/premailer.rb,
lib/activemail/components/callout.rb,
lib/activemail/components/columns.rb,
lib/activemail/components/wrapper.rb,
lib/activemail/quality/render_all.rb,
lib/activemail/components/info_box.rb,
lib/activemail/inliner/interceptor.rb,
lib/activemail/components/container.rb,
lib/activemail/components/menu_item.rb,
lib/activemail/parse_error_reporter.rb,
app/helpers/activemail/styles_helper.rb,
lib/activemail/components/block_grid.rb,
lib/activemail/quality/configuration.rb,
lib/activemail/rails/template_handler.rb,
lib/activemail/quality/preview_renderer.rb,
lib/activemail/rails/compiled_stylesheet.rb,
lib/generators/activemail/views_generator.rb,
lib/generators/activemail/styles_generator.rb,
lib/generators/activemail/install_generator.rb,
lib/generators/activemail/component_generator.rb
Overview
typed: false frozen_string_literal: true
Defined Under Namespace
Modules: CompiledStylesheet, Components, Generators, Inliner, Quality, Rails, StylesHelper
Classes: Configuration, Core, ParseError, ParseErrorReporter, Tokens
Constant Summary
collapse
- LIBXML_UNKNOWN_TAG_CODE =
libxml2 XML_HTML_UNKNOWN_TAG: emitted for every non-HTML4 tag (HTML5/custom tags), not actual malformedness. Shared by the engine and the quality layer.
801
- VERSION =
'1.0.1'
- ComponentMap =
T.type_alias { T::Hash[String, T.class_of(ActiveMail::Components::Base)] }
Class Method Summary
collapse
Class Method Details
.assert_positive_dimension!(name, value) ⇒ Object
83
84
85
86
87
|
# File 'lib/activemail/configuration.rb', line 83
def self.assert_positive_dimension!(name, value)
raise ArgumentError, "#{name} must be a positive integer, got #{value.inspect}" unless value.is_a?(Integer) && value.positive?
value
end
|
.configuration=(config) ⇒ Object
28
29
30
31
32
|
# File 'lib/activemail/configuration.rb', line 28
def self.configuration=(config)
raise TypeError, 'Not an ActiveMail::Configuration' unless config.is_a?(Configuration)
@configuration = config
end
|
35
36
37
|
# File 'lib/activemail/configuration.rb', line 35
def self.configure(&block)
block.call(configuration)
end
|
.full_document?(html) ⇒ Boolean
41
42
43
|
# File 'lib/activemail/configuration.rb', line 41
def self.full_document?(html)
html.match?(/<html/i)
end
|
.log_warning(message) ⇒ Object
55
56
57
58
|
# File 'lib/activemail/configuration.rb', line 55
def self.log_warning(message)
logger = rails_logger
logger ? logger.warn(message) : Kernel.warn(message)
end
|
.rails_logger ⇒ Object
61
62
63
64
65
66
|
# File 'lib/activemail/configuration.rb', line 61
def self.rails_logger
return unless Object.const_defined?(:Rails)
rails = Object.const_get(:Rails)
rails.respond_to?(:logger) ? rails.logger : nil
end
|
.scrub_invalid_bytes(html_string) ⇒ Object
71
72
73
74
75
76
77
78
|
# File 'lib/activemail/configuration.rb', line 71
def self.scrub_invalid_bytes(html_string)
mode = configuration.on_parse_error
message = '[activemail] input had invalid byte sequences; scrubbed to U+FFFD'
raise ParseError, message if mode == :raise
log_warning(message) unless mode == :ignore
html_string.scrub
end
|
.scss_variables ⇒ Object
48
49
50
|
# File 'lib/activemail/configuration.rb', line 48
def self.scss_variables
"#{tokens.to_scss}$am-grid-container-width: #{configuration.container_width}px !default;\n"
end
|
.tokens ⇒ Object
23
24
25
|
# File 'lib/activemail/configuration.rb', line 23
def self.tokens
configuration.tokens
end
|