Sha256: afb8d86e3fe20df7362ee5229f565f76718936bb04c231a920ac21c98c7d6952

Contents?: true

Size: 716 Bytes

Versions: 2

Compression:

Stored size: 716 Bytes

Contents

module ActiveScaffoldSortable
  module AttributeParams
    def self.included(base)
      base.alias_method_chain :update_column_from_params, :sortable
    end

    def update_column_from_params_with_sortable(parent_record, column, attribute, avoid_changes = false)
      update_column_from_params_without_sortable(parent_record, column, attribute, avoid_changes).tap do |value|
        if column.association.try(:collection?)
          config = active_scaffold_config_for(column.association.klass)
          if config.actions.include?(:sortable)
            parent_record.association(column.association.name).target = value.sort_by(&config.sortable.column.name)
          end
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
active_scaffold_sortable-3.3.0 lib/active_scaffold_sortable/attribute_params.rb
active_scaffold_sortable-3.2.13 lib/active_scaffold_sortable/attribute_params.rb