Sha256: d4ca31049649cd7684a4f9cb2a37af9ed259a166f991f896bd324ab192826a8e

Contents?: true

Size: 541 Bytes

Versions: 16

Compression:

Stored size: 541 Bytes

Contents

module Rbexy
  class ComponentTagBuilder < ActionView::Helpers::TagHelper::TagBuilder
    attr_reader :component_provider

    def initialize(context, component_provider)
      super(context)
      @component_provider = component_provider
    end

    def method_missing(called, *args, **attrs, &block)
      component_name = called.to_s.gsub("__", "::")
      if component_provider.match?(component_name)
        component_provider.render(@view_context, component_name, **attrs, &block)
      else
        super
      end
    end
  end
end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
rbexy-1.1.0 lib/rbexy/component_tag_builder.rb
rbexy-1.0.2 lib/rbexy/component_tag_builder.rb
rbexy-1.0.1 lib/rbexy/component_tag_builder.rb
rbexy-1.0.0 lib/rbexy/component_tag_builder.rb
rbexy-0.3.1 lib/rbexy/component_tag_builder.rb
rbexy-0.3.0 lib/rbexy/component_tag_builder.rb
rbexy-0.2.3 lib/rbexy/component_tag_builder.rb
rbexy-0.2.2 lib/rbexy/component_tag_builder.rb
rbexy-0.2.1 lib/rbexy/component_tag_builder.rb
rbexy-0.2.0 lib/rbexy/component_tag_builder.rb
rbexy-0.1.5 lib/rbexy/component_tag_builder.rb
rbexy-0.1.4 lib/rbexy/component_tag_builder.rb
rbexy-0.1.3 lib/rbexy/component_tag_builder.rb
rbexy-0.1.2 lib/rbexy/component_tag_builder.rb
rbexy-0.1.1 lib/rbexy/component_tag_builder.rb
rbexy-0.1.0 lib/rbexy/component_tag_builder.rb