Sha256: 6d2192788542cc230be452cb914b1efe494331ad83bb1486ab37b316ea28640e
Contents?: true
Size: 1.05 KB
Versions: 36
Compression:
Stored size: 1.05 KB
Contents
# frozen_string_literal: true module LinkedRails class Collection module Sortable attr_accessor :sort attr_writer :sort_options def default_before_value sortings.map do |sorting| { key: sorting.key, value: sorting.default_value } end end def parsed_sort_values sortings.map(&:sort_value) end def primary_key_sorting [ { key: Vocab.ontola[:primaryKey], direction: :asc } ] end def sort_options @sort_options || association_class.try(:sort_options, self) end def sorted_association(scope) scope.respond_to?(:reorder) ? scope.reorder(parsed_sort_values) : scope end def sorted? sort.present? end def sortings @sortings ||= LinkedRails.collection_sorting_class.from_array( association_class, (sort || default_sortings) + primary_key_sorting, self ) end end end end
Version data entries
36 entries across 36 versions & 1 rubygems