Sha256: ac2e3f237f81a973f20ddaf2939c14dad5245c6db904dce5093aa742ce8e77fb

Contents?: true

Size: 514 Bytes

Versions: 14

Compression:

Stored size: 514 Bytes

Contents

module Sortify
  
  def apply_sorting(chain, order_class = resource_class)
    params[:order] ||= 'id_desc'
    if params[:order] && params[:order] =~ /^([\w\_\.]+)_(desc|asc)$/
      column = $1
      order  = $2
      table  = order_class.column_names.include?(column) ? order_class.table_name : nil
      table_column = (column =~ /\./) ? column : [table, order_class.connection.quote_column_name(column)].compact.join(".")
      chain.reorder("#{table_column} #{order}")
    else
      chain
    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
comfortable_mexican_loveseat-0.1.1 app/controllers/concerns/sortify.rb
comfortable_mexican_loveseat-0.1.0 app/controllers/concerns/sortify.rb
comfortable_mexican_loveseat-0.0.23 app/controllers/concerns/sortify.rb
comfortable_mexican_loveseat-0.0.22 app/controllers/concerns/sortify.rb
comfortable_mexican_loveseat-0.0.21 app/controllers/concerns/sortify.rb
comfortable_mexican_loveseat-0.0.20 app/controllers/concerns/sortify.rb
comfortable_mexican_loveseat-0.0.19 app/controllers/concerns/sortify.rb
comfortable_mexican_loveseat-0.0.18 app/controllers/concerns/sortify.rb
comfortable_mexican_loveseat-0.0.17 app/controllers/concerns/sortify.rb
comfortable_mexican_loveseat-0.0.16 app/controllers/concerns/sortify.rb
comfortable_mexican_loveseat-0.0.15 app/controllers/concerns/sortify.rb
comfortable_mexican_loveseat-0.0.14 app/controllers/concerns/sortify.rb
comfortable_mexican_loveseat-0.0.13 app/controllers/concerns/sortify.rb
comfortable_mexican_loveseat-0.0.12 app/controllers/concerns/sortify.rb