Sha256: 655a045da392ce41891724abba593a60822c76e4555d8470a2fd1b8aec2b5c32
Contents?: true
Size: 765 Bytes
Versions: 18
Compression:
Stored size: 765 Bytes
Contents
# frozen_string_literal: true module Effective module TableRows class Collection < Effective::TableRow def initialize(name, collection, options, builder:) @collection = collection super(name, options, builder: builder) end def content values = Array(value) - [nil, ''] if values.length > 1 values.map { |v| content_tag(:div, item_content(v)) }.join.html_safe elsif values.length == 1 item_content(values.first) end end def item_content(value) item = @collection.find { |k, v| (k && k == value) || (v && v == value) || k.try(:id) == value } item = item.first if item.kind_of?(Array) (item || value).to_s end end end end
Version data entries
18 entries across 18 versions & 1 rubygems