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

Version Path
symphonia-3.4.0 lib/symphonia/query_columns/attribute_column.rb
symphonia-3.3.4 lib/symphonia/query_columns/attribute_column.rb
symphonia-3.3.3 lib/symphonia/query_columns/attribute_column.rb
symphonia-3.3.2 lib/symphonia/query_columns/attribute_column.rb
symphonia-3.3.0 lib/symphonia/query_columns/attribute_column.rb
symphonia-3.2.4 lib/symphonia/query_columns/attribute_column.rb
symphonia-3.2.3 lib/symphonia/query_columns/attribute_column.rb
symphonia-3.2.2 lib/symphonia/query_columns/attribute_column.rb
symphonia-3.2.1 lib/symphonia/query_columns/attribute_column.rb
symphonia-3.1.5 lib/symphonia/query_columns/attribute_column.rb
symphonia-3.1.4 lib/symphonia/query_columns/attribute_column.rb
symphonia-3.1.3 lib/symphonia/query_columns/attribute_column.rb
symphonia-3.1.2 lib/symphonia/query_columns/attribute_column.rb
symphonia-3.1.1 lib/symphonia/query_columns/attribute_column.rb
symphonia-3.1.0 lib/symphonia/query_columns/attribute_column.rb
symphonia-3.0.3 lib/symphonia/query_columns/attribute_column.rb
symphonia-3.0.2 lib/symphonia/query_columns/attribute_column.rb
symphonia-2.2.1 lib/symphonia/query_columns/attribute_column.rb
symphonia-3.0.1 lib/symphonia/query_columns/attribute_column.rb
symphonia-3.0.0 lib/symphonia/query_columns/attribute_column.rb