Module: Pagy::TrimExtra

Included in:
Frontend
Defined in:
lib/pagy/extras/trim.rb

Instance Method Summary collapse

Instance Method Details

Override the original pagy_link_proc. Call the pagy_trim method if the trim_extra is enabled.



10
11
12
13
14
15
16
17
18
19
20
# File 'lib/pagy/extras/trim.rb', line 10

def pagy_link_proc(pagy, link_extra: '')
  link_proc = super(pagy, link_extra: link_extra)
  return link_proc unless pagy.vars[:trim_extra]

  lambda do |num, text = num, extra = ''|
    link = +link_proc.call(num, text, extra)
    return link unless num == 1

    pagy_trim(pagy, link)
  end
end

#pagy_trim(pagy, link) ⇒ Object

Remove the the :page_param param from the first page link



23
24
25
# File 'lib/pagy/extras/trim.rb', line 23

def pagy_trim(pagy, link)
  link.sub!(/[?&]#{pagy.vars[:page_param]}=1\b(?!&)|\b#{pagy.vars[:page_param]}=1&/, '')
end