Module: Pagy::TrimExtra
- Included in:
- Frontend
- Defined in:
- lib/pagy/extras/trim.rb
Instance Method Summary collapse
-
#pagy_link_proc(pagy, link_extra: '') ⇒ Object
Override the original pagy_link_proc.
-
#pagy_trim(pagy, link) ⇒ Object
Remove the the :page_param param from the first page link.
Instance Method Details
#pagy_link_proc(pagy, link_extra: '') ⇒ Object
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 |