class Rbexy::ComponentProviders::ViewComponentProvider
Public Instance Methods
find(name)
click to toggle source
# File lib/rbexy/component_providers/view_component_provider.rb, line 13 def find(name) ActiveSupport::Inflector.constantize("#{name}Component") rescue NameError => e raise e unless e.message =~ /wrong constant name/ || e.message =~ /uninitialized constant/ nil end
match?(name)
click to toggle source
# File lib/rbexy/component_providers/view_component_provider.rb, line 4 def match?(name) name =~ /^[A-Z]/ && find(name) != nil end
render(context, name, **attrs, &block)
click to toggle source
# File lib/rbexy/component_providers/view_component_provider.rb, line 8 def render(context, name, **attrs, &block) props = attrs.transform_keys { |k| ActiveSupport::Inflector.underscore(k.to_s).to_sym } find(name).new(**props).render_in(context, &block) end