diff --git a/lib/pagy.rb b/lib/pagy.rb index d9928b448..f64db7218 100644 --- a/lib/pagy.rb +++ b/lib/pagy.rb @@ -66,9 +66,10 @@ def series(size=@vars[:size]) series[series.index(@page)] = @page.to_s series end - + end +require 'pagy/deprecation' require 'pagy/backend' require 'pagy/frontend' require 'pagy/exceptions' diff --git a/lib/pagy/deprecation.rb b/lib/pagy/deprecation.rb new file mode 100644 index 000000000..27f99fb04 --- /dev/null +++ b/lib/pagy/deprecation.rb @@ -0,0 +1,20 @@ +# frozen_string_literal: true +class Pagy + class << self + + # deprecated pagy_url_for rgument order + def deprecated_order(pagy, page) + Warning.warn '[PAGY WARNING] inverted use of pagy/page in pagy_url_for will not be supported in 5.0! Use pagy_url_for(pagy, page) instead.' + [page, pagy] + end + + + # deprecated arguments to remove in 5.0 + def deprecated_arg(arg, val, new_key, new_val) + value = new_val || val # we use the new_val if present + Warning.warn %([PAGY WARNING] deprecated use of positional `#{arg}` arg will not be supported in 5.0! Use only the keyword arg `#{new_key}: #{value.inspect}` instead.) + value + end + + end +end diff --git a/lib/pagy/extras/bootstrap.rb b/lib/pagy/extras/bootstrap.rb index 12b20c897..3237ee6d0 100644 --- a/lib/pagy/extras/bootstrap.rb +++ b/lib/pagy/extras/bootstrap.rb @@ -26,7 +26,7 @@ def pagy_bootstrap_nav(pagy, pagy_id: nil, link_extra: '') # Javascript pagination for bootstrap: it returns a nav and a JSON tag used by the Pagy.nav javascript def pagy_bootstrap_nav_js(pagy, deprecated_id=nil, pagy_id: nil, link_extra: '', steps: nil) - pagy_id = pagy_deprecated_arg(:id, deprecated_id, :pagy_id, pagy_id) if deprecated_id + pagy_id = Pagy.deprecated_arg(:id, deprecated_id, :pagy_id, pagy_id) if deprecated_id p_id = %( id="#{pagy_id}") if pagy_id link = pagy_link_proc(pagy, %(class="page-link" #{link_extra})) tags = { 'before' => %(