Sha256: 168ff90273a84c9e20ed30155fe6a30738c708a96fe41c6dcee7e006706ffe76
Contents?: true
Size: 870 Bytes
Versions: 30
Compression:
Stored size: 870 Bytes
Contents
# frozen_string_literal: true require "active_support/concern" module Decidim # Common logic to ordering resources module Orderable extend ActiveSupport::Concern included do helper_method :order, :available_orders, :random_seed private # Gets how the proposals should be ordered based on the choice # made by the user. def order @order ||= detect_order(params[:order]) || default_order end def detect_order(candidate) available_orders.detect { |order| order == candidate } end def default_order "random" end # Returns: A random float number between -1 and 1 to be used as a # random seed at the database. def random_seed @random_seed ||= begin session[:random_seed] ||= (rand * 2) - 1 end.to_f end end end end
Version data entries
30 entries across 30 versions & 1 rubygems