Sha256: 458e0490f1e55cf56777a07e2eaac17e2ffc69613c68a36a22d9404dda87a8bc
Contents?: true
Size: 1.21 KB
Versions: 22
Compression:
Stored size: 1.21 KB
Contents
module Symphonia module QueryColumns class AttributeColumn < GenericColumn attr_reader :attribute attr_accessor :no_header, :sort_options attr_writer :header, :sort delegate :default?, :title, to: :attribute def initialize(attribute, query, options={}) @attribute = attribute @name = attribute.name @query = query @model = query.model @options = options @includes = options.delete(:includes) || reference? && [@name] || [] @preload = options.delete(:preload) || reference? && [@name] || [] @joins = Array(options.delete(:joins)) || [] @sort_definition = attribute.sort_column @sort = attribute.sort? end def reference? @attribute.is_a?(Symphonia::ModelAttributes::ReferenceAttribute) end # def header(table_header_tag) # if @header === false # table_header_tag.th(@name, '', sort: false) # else # table_header_tag.th(@name, title, {sort: @sort.nil?, sort_options: (sort_options || {}).merge({column: sort_column_name})}) # end # end def format_value(view, entity) @attribute.format(view, entity) end end end end
Version data entries
22 entries across 22 versions & 1 rubygems