Sha256: c7404a4bc9d75cce1cdfc328f54fc6eee5e728a6517b7dd61bbbd94d7cea944c

Contents?: true

Size: 861 Bytes

Versions: 27

Compression:

Stored size: 861 Bytes

Contents

# frozen_string_literal: true

require "active_support/concern"

module Decidim
  module Debates
    # Common logic to sorting resources
    module Orderable
      extend ActiveSupport::Concern

      included do
        include Decidim::Orderable

        private

        def available_orders
          @available_orders ||= %w(random recent commented updated)
        end

        def default_order
          "updated"
        end

        def reorder(debates)
          case order
          when "recent"
            debates.order(created_at: :desc)
          when "commented"
            debates.order(comments_count: :desc)
          when "updated"
            debates.order(updated_at: :desc)
          when "random"
            debates.order_randomly(random_seed)
          else
            debates
          end
        end
      end
    end
  end
end

Version data entries

27 entries across 27 versions & 1 rubygems

Version Path
decidim-debates-0.29.2 app/controllers/decidim/debates/orderable.rb
decidim-debates-0.28.5 app/controllers/decidim/debates/orderable.rb
decidim-debates-0.29.1 app/controllers/decidim/debates/orderable.rb
decidim-debates-0.28.4 app/controllers/decidim/debates/orderable.rb
decidim-debates-0.27.9 app/controllers/decidim/debates/orderable.rb
decidim-debates-0.29.0 app/controllers/decidim/debates/orderable.rb
decidim-debates-0.28.3 app/controllers/decidim/debates/orderable.rb
decidim-debates-0.27.8 app/controllers/decidim/debates/orderable.rb
decidim-debates-0.29.0.rc4 app/controllers/decidim/debates/orderable.rb
decidim-debates-0.29.0.rc3 app/controllers/decidim/debates/orderable.rb
decidim-debates-0.29.0.rc2 app/controllers/decidim/debates/orderable.rb
decidim-debates-0.29.0.rc1 app/controllers/decidim/debates/orderable.rb
decidim-debates-0.28.2 app/controllers/decidim/debates/orderable.rb
decidim-debates-0.27.7 app/controllers/decidim/debates/orderable.rb
decidim-debates-0.28.1 app/controllers/decidim/debates/orderable.rb
decidim-debates-0.27.6 app/controllers/decidim/debates/orderable.rb
decidim-debates-0.28.0 app/controllers/decidim/debates/orderable.rb
decidim-debates-0.27.5 app/controllers/decidim/debates/orderable.rb
decidim-debates-0.28.0.rc5 app/controllers/decidim/debates/orderable.rb
decidim-debates-0.28.0.rc4 app/controllers/decidim/debates/orderable.rb