module RiceCooker::Range::ClassMethods
Public Instance Methods
ranged(additional_ranged_params = {})
click to toggle source
# File lib/rice_cooker/range.rb, line 12 def ranged(additional_ranged_params = {}) cattr_accessor :ranged_keys cattr_accessor :custom_ranges # On normalize tout ca additional_ranged_params = format_additional_param(additional_ranged_params, 'ranged') # On recupere tous les filtres autorisés allowed_keys = (rangeable_fields_for(resource_model) + additional_ranged_params.keys) # On recupere le default self.ranged_keys = allowed_keys self.custom_ranges = additional_ranged_params has_scope :range, type: :hash, only: [:index] do |_controller, scope, value| params = parse_ranged_param(value, ranged_keys) scope = apply_range_to_collection(scope, params, custom_ranges) scope end end