Both these objects where using/setting a variable called valid_orders. As a results, some specs where becoming flacky (features/budgets/investments_spec.rb, balloting phase). By putting them together, there is no `valid_orders` variable any more (everything is @valid_orders) and the flackyness is gone.
14 lines
442 B
Ruby
14 lines
442 B
Ruby
module HasOrders
|
|
extend ActiveSupport::Concern
|
|
|
|
class_methods do
|
|
def has_orders(valid_orders, *args)
|
|
before_action(*args) do |c|
|
|
@valid_orders = valid_orders.respond_to?(:call) ? valid_orders.call(c) : valid_orders
|
|
@valid_orders.delete('relevance') unless params[:search].present?
|
|
@current_order = @valid_orders.include?(params[:order]) ? params[:order] : @valid_orders.first
|
|
end
|
|
end
|
|
end
|
|
end
|