Module: Locomotive::Plugin::Liquid
- Included in:
- Locomotive::Plugin
- Defined in:
- lib/locomotive/plugin/liquid.rb,
lib/locomotive/plugin/liquid/drop_extension.rb,
lib/locomotive/plugin/liquid/context_helpers.rb,
lib/locomotive/plugin/liquid/tag_subclass_methods.rb,
lib/locomotive/plugin/liquid/prefixed_filter_module.rb
Overview
This module adds liquid handling methods to the plugin class.
Defined Under Namespace
Modules: ClassMethods, ContextHelpers, DropExtension, LiquidClassMethods, PrefixedFilterModule, TagSubclassMethods
Class Method Summary collapse
-
.included(base) ⇒ Object
Add class methods.
Instance Method Summary collapse
-
#setup_liquid_context(plugin_id, context) ⇒ Object
Setup the liquid context object for rendering plugin liquid code.
Class Method Details
.included(base) ⇒ Object
Add class methods.
12 13 14 |
# File 'lib/locomotive/plugin/liquid.rb', line 12 def self.included(base) base.extend(ClassMethods) end |
Instance Method Details
#setup_liquid_context(plugin_id, context) ⇒ Object
Setup the liquid context object for rendering plugin liquid code. It will add to the context:
-
the prefixed tags. These will go into the
:enabled_plugin_tags
register. -
the drop to the hash in the “plugins” liquid variable
-
the prefixed filters.
125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 |
# File 'lib/locomotive/plugin/liquid.rb', line 125 def setup_liquid_context(plugin_id, context) # Add tags (context.registers[:enabled_plugin_tags] ||= Set.new).tap do |set| set.merge(self.class.(plugin_id).values) end # Add drop with extension context['plugins'] ||= {} drop = self.to_liquid if drop drop.extend(Locomotive::Plugin::Liquid::DropExtension) drop.set_plugin_id(plugin_id) context['plugins'][plugin_id] = drop end # Add filters context.add_filters(self.class.prefixed_liquid_filter_module(plugin_id)) end |