Sha256: fa27b4e5f16e50bad381a7c4849d2968d0a5146ec0fc0b5a9d949510c6dca30a
Contents?: true
Size: 912 Bytes
Versions: 10
Compression:
Stored size: 912 Bytes
Contents
# frozen_string_literal: true module Mensa class Row attr_reader :table, :view_context, :record def initialize(table, record) @table = table @record = record end def value(column) if column.attribute && record.respond_to?(column.attribute) record.public_send(column.attribute) elsif column.method && record.respond_to?(column.method) record.public_send(column.method) elsif record.respond_to?(column.name) record.public_send(column.name) elsif record.respond_to?(:[]) record[column.name] else "-" end end def link_attributes return {} unless link { href: link, data: { controller: "satis-link", action: "click->satis-link#follow tap->satis-link#follow" } } end def link table.original_view_context.instance_exec(record, &table.link) if table.link end end end
Version data entries
10 entries across 10 versions & 1 rubygems