Sha256: 4e7258b78278c8b9f481bc7a543ae262ac743176b069e617cd54f2b16f389da1
Contents?: true
Size: 1012 Bytes
Versions: 24
Compression:
Stored size: 1012 Bytes
Contents
# frozen_string_literal: true module Maglev class BlockComponent < BaseComponent include TagHelper extend Forwardable def_delegators :section, :site, :config attr_reader :section, :id, :name, :type, :settings, :attributes, :definition attr_accessor :children # rubocop:disable Lint/MissingSuper def initialize(section:, attributes:, definition:) @section = section @id = attributes[:id] @name = attributes[:name] @type = attributes[:type] @children = children @definition = definition @settings = settings_proxy( build_settings_map(attributes[:settings]) ) end # rubocop:enable Lint/MissingSuper def children? children.present? end def dom_id "block-#{id}" end # rubocop:disable Rails/OutputSafety def dom_data "data-maglev-block-id=\"#{id}\"".html_safe end # rubocop:enable Rails/OutputSafety def tag_data { maglev_block_id: id } end end end
Version data entries
24 entries across 24 versions & 1 rubygems