Sha256: 7b63c151a07ad6020edc07c6599869d613e6510fc0e64a59cf06b0365dfebc4f

Contents?: true

Size: 572 Bytes

Versions: 6

Compression:

Stored size: 572 Bytes

Contents

# frozen_string_literal: true

# :nocov:
module Primer
  # Module to allow shorthand calls for Primer components
  module ViewHelper
    class ViewHelperNotFound < StandardError; end

    HELPERS = {
      octicon: "Primer::Beta::Octicon",
      heading: "Primer::Beta::Heading",
      time_ago: "Primer::TimeAgoComponent",
      image: "Primer::Alpha::Image"
    }.freeze

    HELPERS.each do |name, component|
      define_method "primer_#{name}" do |*args, **kwargs, &block|
        render component.constantize.new(*args, **kwargs), &block
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
primer_view_components-0.0.120 app/lib/primer/view_helper.rb
primer_view_components-0.0.119 app/lib/primer/view_helper.rb
primer_view_components-0.0.118 app/lib/primer/view_helper.rb
primer_view_components-0.0.117 app/lib/primer/view_helper.rb
primer_view_components-0.0.116 app/lib/primer/view_helper.rb
primer_view_components-0.0.115 app/lib/primer/view_helper.rb