module Bridgetown::ViewComponentARCHIVED

Public Class Methods

included(klass) click to toggle source
# File lib/bridgetown-view-component/bridgetown/view_component.rb, line 23
def self.included(klass)
  klass.extend ClassMethods
end
setup_hooks() click to toggle source

NOTE: Currently not in use…might need to revisit when dual Rails/Bridgetown installs are present

# File lib/bridgetown-view-component/bridgetown/view_component.rb, line 7
def self.setup_hooks
  Bridgetown::Hooks.register :site, :pre_render, reloadable: false do
    ::ViewComponent::CompileCache.cache.each do |component_class|
      component_class.undef_method(:call)
    end
    ::ViewComponent::CompileCache.cache.clear
  end

  Bridgetown::Hooks.register :site, :post_render, reloadable: false do |_post|
    ::ViewComponent::CompileCache.cache.each do |component_class|
      component_class.undef_method(:call)
    end
    ::ViewComponent::CompileCache.cache.clear
  end
end

Public Instance Methods

content() click to toggle source
Calls superclass method
# File lib/bridgetown-view-component/bridgetown/view_component.rb, line 37
def content
  if self.class.format_for_content == :markdown && view_context.respond_to?(:markdownify)
    view_context.markdownify(@content).html_safe
  else
    super
  end
end
render_in(view_context, &block) click to toggle source
Calls superclass method
# File lib/bridgetown-view-component/bridgetown/view_component.rb, line 45
def render_in(view_context, &block)
  if view_context.class.name&.start_with? "Bridgetown"
    singleton_class.include ViewComponentHelpers
  end

  super
end