lib/pagy.rb in pagy-4.3.0 vs lib/pagy.rb in pagy-4.4.0

- old
+ new

@@ -3,28 +3,29 @@ require 'pathname' # main class class Pagy - VERSION = '4.3.0' + VERSION = '4.4.0' # Root pathname to get the path of Pagy files like templates or dictionaries def self.root @root ||= Pathname.new(__dir__).freeze end # default vars VARS = { page: 1, items: 20, outset: 0, size: [1, 4, 4, 1], page_param: :page, # rubocop:disable Style/MutableConstant - params: {}, anchor: '', link_extra: '', i18n_key: 'pagy.item_name', cycle: false } + params: {}, fragment: '', link_extra: '', i18n_key: 'pagy.item_name', cycle: false } attr_reader :count, :page, :items, :vars, :pages, :last, :offset, :from, :to, :prev, :next INSTANCE_VARS_MIN = { count: 0, items: 1, page: 1, outset: 0 }.freeze # Merge and validate the options, do some simple arithmetic and set the instance variables def initialize(vars) - @vars = VARS.merge( vars.delete_if{|_,v| v.nil? || v == '' } ) + @vars = VARS.merge( vars.delete_if{|k,v| VARS.key?(k) && (v.nil? || v == '') } ) + @vars[:fragment] = deprecated_var(:anchor, @vars[:anchor], :fragment, @vars[:fragment]) if @vars[:anchor] INSTANCE_VARS_MIN.each do |name,min| raise VariableError.new(self), "expected :#{name} >= #{min}; got #{@vars[name].inspect}" \ unless @vars[name] && instance_variable_set(:"@#{name}", @vars[name].to_i) >= min end @@ -67,8 +68,9 @@ series end end +require 'pagy/deprecation' require 'pagy/backend' require 'pagy/frontend' require 'pagy/exceptions'