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

Class Method Details

.extract(params) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
# File 'lib/terrazzo/has_many_pagination.rb', line 8

def extract(params)
  result = {}
  params.each do |key, value|
    key_s = key.to_s
    next unless key_s.start_with?(PARAM_PREFIX) && key_s.end_with?(PARAM_SUFFIX)
    attr = key_s[PARAM_PREFIX.length...-PARAM_SUFFIX.length]
    next if attr.empty?
    result[attr.to_sym] = { _page: value.to_i }
  end
  result
end

.param_key(attribute) ⇒ Object



20
21
22
# File 'lib/terrazzo/has_many_pagination.rb', line 20

def param_key(attribute)
  "#{PARAM_PREFIX}#{attribute}#{PARAM_SUFFIX}"
end