Class: Filterameter::Configuration

Inherits:
Object
  • Object
show all
Defined in:
lib/filterameter/configuration.rb

Overview

Configuration

Class Configuration stores the following settings:

  • action_on_undeclared_parameters
  • action_on_validation_failure
  • filter_key
  • pagination_page_param
  • pagination_size_param

Action on Undeclared Parameters

Occurs when the filter parameter contains any keys that are not defined. Valid actions are :log, :raise, and false (do not take action). By default, development will log, test will raise, and production will do nothing.

Action on Validation Failure

Occurs when a filter parameter fails a validation. Valid actions are :log, :raise, and false (do not take action). By default, development will log, test will raise, and production will do nothing.

Filter Key

By default, the filter parameters are nested under the key :filter. Use this setting to override the key.

If the filter parameters are NOT nested, set this to false. Doing so will restrict the filter parameters to only those that have been declared, meaning undeclared parameters are ignored (and the action_on_undeclared_parameters configuration option does not come into play).

Pagination Parameters

Pagination parameter paths are arrays of keys. They default to [:page, :number] and [:page, :size], producing the nested parameters page[number] and page[size]. Use a single-key path, such as [:page] and [:per_page], for top-level pagination parameters. Pagination paths cannot be rooted at the configured filter key.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize ⇒ Configuration

Returns a new instance of Configuration.



46
47
48
49
50
51
# File 'lib/filterameter/configuration.rb', line 46

def initialize
  @action_on_undeclared_parameters = @action_on_validation_failure = default_action

  @filter_key = :filter
  configure_pagination
end

Instance Attribute Details

#action_on_undeclared_parameters ⇒ Object

Returns the value of attribute action_on_undeclared_parameters.



43
44
45
# File 'lib/filterameter/configuration.rb', line 43

def action_on_undeclared_parameters
  @action_on_undeclared_parameters
end

#action_on_validation_failure ⇒ Object

Returns the value of attribute action_on_validation_failure.



43
44
45
# File 'lib/filterameter/configuration.rb', line 43

def action_on_validation_failure
  @action_on_validation_failure
end

#filter_key ⇒ Object

Returns the value of attribute filter_key.



44
45
46
# File 'lib/filterameter/configuration.rb', line 44

def filter_key
  @filter_key
end

#pagination_page_param ⇒ Object

Returns the value of attribute pagination_page_param.



44
45
46
# File 'lib/filterameter/configuration.rb', line 44

def pagination_page_param
  @pagination_page_param
end

#pagination_size_param ⇒ Object

Returns the value of attribute pagination_size_param.



44
45
46
# File 'lib/filterameter/configuration.rb', line 44

def pagination_size_param
  @pagination_size_param
end