Module: Terrazzo::HasManyPagination
- Defined in:
- lib/terrazzo/has_many_pagination.rb
Constant Summary collapse
- PARAM_PREFIX =
"hm_".freeze
- PARAM_SUFFIX =
"_page".freeze
Class Method Summary collapse
- .extract(params, attributes) ⇒ Object
- .legacy_param_key(attribute) ⇒ Object
- .param_key(attribute) ⇒ Object
Class Method Details
.extract(params, attributes) ⇒ Object
8 9 10 11 12 13 14 15 16 17 |
# File 'lib/terrazzo/has_many_pagination.rb', line 8 def extract(params, attributes) attributes.each_with_object({}) do |attr, result| value = params[param_key(attr)] || params[param_key(attr).to_sym] || params[legacy_param_key(attr)] || params[legacy_param_key(attr).to_sym] next if value.nil? result[attr.to_sym] = { _page: value.to_i } end end |
.legacy_param_key(attribute) ⇒ Object
23 24 25 |
# File 'lib/terrazzo/has_many_pagination.rb', line 23 def legacy_param_key(attribute) "#{attribute}#{PARAM_SUFFIX}" end |
.param_key(attribute) ⇒ Object
19 20 21 |
# File 'lib/terrazzo/has_many_pagination.rb', line 19 def param_key(attribute) "#{PARAM_PREFIX}#{attribute}#{PARAM_SUFFIX}" end |