Sha256: a4d61882c738ef1e80086809e7b0197c3eb6f7b7a7036bcb654a9e8444cc9b33

Contents?: true

Size: 1004 Bytes

Versions: 11

Compression:

Stored size: 1004 Bytes

Contents

# frozen_string_literal: true

module Katalyst
  module Tables
    class BodyCellComponent < ViewComponent::Base # :nodoc:
      include HasHtmlAttributes

      attr_reader :record

      def initialize(table, record, attribute, heading: false, **html_attributes)
        super(**html_attributes)

        @table     = table
        @record    = record
        @attribute = attribute
        @type      = heading ? :th : :td
      end

      def before_render
        # fallback if no content block is given
        with_content(value.to_s) unless content?
      end

      def call
        content # ensure content is set before rendering options

        content_tag(@type, content, **html_attributes)
      end

      # @return the object for this row.
      def object
        @record
      end

      def value
        @record.public_send(@attribute)
      end

      def inspect
        "#<#{self.class.name} attribute: #{@attribute.inspect}, value: #{value.inspect}>"
      end
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
katalyst-tables-2.2.10 app/components/katalyst/tables/body_cell_component.rb
katalyst-tables-2.2.9 app/components/katalyst/tables/body_cell_component.rb
katalyst-tables-2.2.8 app/components/katalyst/tables/body_cell_component.rb
katalyst-tables-2.2.7 app/components/katalyst/tables/body_cell_component.rb
katalyst-tables-2.2.6 app/components/katalyst/tables/body_cell_component.rb
katalyst-tables-2.2.5 app/components/katalyst/tables/body_cell_component.rb
katalyst-tables-2.2.4 app/components/katalyst/tables/body_cell_component.rb
katalyst-tables-2.2.3 app/components/katalyst/tables/body_cell_component.rb
katalyst-tables-2.2.2 app/components/katalyst/tables/body_cell_component.rb
katalyst-tables-2.2.1 app/components/katalyst/tables/body_cell_component.rb
katalyst-tables-2.2.0 app/components/katalyst/tables/body_cell_component.rb