class ViewComponentContrib::Preview::Base
def component_class_name
- Namespace::ButtonPreview => Namespace::Button::Component | Namespace::ButtonComponent | Namespace::Button
Infer component class name from preview class name:
def component_class_name @component_class_name ||= begin component_name = name.sub(/(::Preview|Preview)$/, "") [ "#{component_name}::Component", "#{component_name}Component", component_name ].find do _1.safe_constantize end end end