From b8ca19aa02b4b349f6091e75908787251808eb3a Mon Sep 17 00:00:00 2001 From: sebastianMindee <130448732+sebastianMindee@users.noreply.github.com> Date: Thu, 28 May 2026 15:29:27 +0200 Subject: [PATCH 1/3] :bug: fix pagination metadata attribute not matching json in model search --- lib/mindee/v2/parsing/search.rb | 2 +- .../search/{pagination_metadata.rb => pagination.rb} | 2 +- lib/mindee/v2/parsing/search/search_response.rb | 12 ++++++------ .../{pagination_metadata.rbs => pagination.rbs} | 4 ++-- sig/mindee/v2/parsing/search/search_response.rbs | 2 +- 5 files changed, 11 insertions(+), 11 deletions(-) rename lib/mindee/v2/parsing/search/{pagination_metadata.rb => pagination.rb} (97%) rename sig/mindee/v2/parsing/search/{pagination_metadata.rbs => pagination.rbs} (80%) diff --git a/lib/mindee/v2/parsing/search.rb b/lib/mindee/v2/parsing/search.rb index 19050b2b..8e12e6e6 100644 --- a/lib/mindee/v2/parsing/search.rb +++ b/lib/mindee/v2/parsing/search.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -require_relative 'search/pagination_metadata' +require_relative 'search/pagination' require_relative 'search/search_model' require_relative 'search/search_models' require_relative 'search/search_response' diff --git a/lib/mindee/v2/parsing/search/pagination_metadata.rb b/lib/mindee/v2/parsing/search/pagination.rb similarity index 97% rename from lib/mindee/v2/parsing/search/pagination_metadata.rb rename to lib/mindee/v2/parsing/search/pagination.rb index 207a068a..a2108889 100644 --- a/lib/mindee/v2/parsing/search/pagination_metadata.rb +++ b/lib/mindee/v2/parsing/search/pagination.rb @@ -5,7 +5,7 @@ module V2 module Parsing module Search # Pagination Metadata data associated with model search. - class PaginationMetadata + class Pagination # @return [Integer] Number of items per page. attr_reader :per_page diff --git a/lib/mindee/v2/parsing/search/search_response.rb b/lib/mindee/v2/parsing/search/search_response.rb index 1921ec74..18df8235 100644 --- a/lib/mindee/v2/parsing/search/search_response.rb +++ b/lib/mindee/v2/parsing/search/search_response.rb @@ -6,16 +6,16 @@ module Parsing module Search # Models search response. class SearchResponse < CommonResponse - # @return [Search::Search] Parsed search payload. + # @return [Search::SearchModels] Parsed search payload. attr_reader :models - # @return [Search::Search] Pagination metadata. - attr_reader :pagination_metadata + # @return [Search::Pagination] Pagination metadata. + attr_reader :pagination def initialize(server_response) super - @models = Search::SearchModels.new(server_response['models']) - @pagination_metadata = PaginationMetadata.new(server_response['pagination']) + @models = SearchModels.new(server_response['models']) + @pagination = Pagination.new(server_response['pagination']) end # String representation. @@ -27,7 +27,7 @@ def to_s @models.to_s, 'Pagination Metadata', '###################', - @pagination_metadata.to_s, + @pagination.to_s, '', ].join("\n") end diff --git a/sig/mindee/v2/parsing/search/pagination_metadata.rbs b/sig/mindee/v2/parsing/search/pagination.rbs similarity index 80% rename from sig/mindee/v2/parsing/search/pagination_metadata.rbs rename to sig/mindee/v2/parsing/search/pagination.rbs index 5c43bb62..2bf58261 100644 --- a/sig/mindee/v2/parsing/search/pagination_metadata.rbs +++ b/sig/mindee/v2/parsing/search/pagination.rbs @@ -1,10 +1,10 @@ -# lib/mindee/v2/parsing/search/pagination_metadata.rbs +# lib/mindee/v2/parsing/search/pagination.rbs module Mindee module V2 module Parsing module Search - class PaginationMetadata + class Pagination attr_reader page: Integer attr_reader per_page: Integer attr_reader total_items: Integer diff --git a/sig/mindee/v2/parsing/search/search_response.rbs b/sig/mindee/v2/parsing/search/search_response.rbs index 14c0bfda..386284ef 100644 --- a/sig/mindee/v2/parsing/search/search_response.rbs +++ b/sig/mindee/v2/parsing/search/search_response.rbs @@ -5,7 +5,7 @@ module Mindee module Search class SearchResponse attr_reader models: Array[SearchResponse] - attr_reader pagination_metadata: PaginationMetadata + attr_reader pagination: Pagination def initialize: (Hash[String|Symbol, untyped]) -> void From 4b2688f99f2b7a11f1462e9f82c95f3ec66f4aaf Mon Sep 17 00:00:00 2001 From: sebastianMindee <130448732+sebastianMindee@users.noreply.github.com> Date: Thu, 28 May 2026 18:31:53 +0200 Subject: [PATCH 2/3] add old acessor back --- lib/mindee/v2/parsing/search.rb | 1 + .../v2/parsing/search/pagination_metadata.rb | 44 +++++++++++++++++++ .../v2/parsing/search/search_response.rb | 3 ++ .../v2/parsing/search/pagination_metadata.rbs | 20 +++++++++ .../v2/parsing/search/search_models.rbs | 13 ++++++ .../v2/parsing/search/search_response.rbs | 1 + 6 files changed, 82 insertions(+) create mode 100644 lib/mindee/v2/parsing/search/pagination_metadata.rb create mode 100644 sig/mindee/v2/parsing/search/pagination_metadata.rbs create mode 100644 sig/mindee/v2/parsing/search/search_models.rbs diff --git a/lib/mindee/v2/parsing/search.rb b/lib/mindee/v2/parsing/search.rb index 8e12e6e6..86f2c9b5 100644 --- a/lib/mindee/v2/parsing/search.rb +++ b/lib/mindee/v2/parsing/search.rb @@ -1,6 +1,7 @@ # frozen_string_literal: true require_relative 'search/pagination' +require_relative 'search/pagination_metadata' require_relative 'search/search_model' require_relative 'search/search_models' require_relative 'search/search_response' diff --git a/lib/mindee/v2/parsing/search/pagination_metadata.rb b/lib/mindee/v2/parsing/search/pagination_metadata.rb new file mode 100644 index 00000000..207a068a --- /dev/null +++ b/lib/mindee/v2/parsing/search/pagination_metadata.rb @@ -0,0 +1,44 @@ +# frozen_string_literal: true + +module Mindee + module V2 + module Parsing + module Search + # Pagination Metadata data associated with model search. + class PaginationMetadata + # @return [Integer] Number of items per page. + attr_reader :per_page + + # @return [Integer] 1-indexed page number. + attr_reader :page + + # @return [Integer] Total items. + attr_reader :total_items + + # @return [Integer] Total number of pages. + attr_reader :total_pages + + # @param raw_response [Hash] The parsed JSON payload mapping to pagination metadata. + def initialize(raw_response) + @per_page = raw_response['per_page'] + @page = raw_response['page'] + @total_items = raw_response['total_items'] + @total_pages = raw_response['total_pages'] + end + + # String representation of the pagination metadata. + # @return [String] + def to_s + [ + ":Per Page: #{@per_page}", + ":Page: #{@page}", + ":Total Items: #{@total_items}", + ":Total Pages: #{@total_pages}", + '', + ].join("\n") + end + end + end + end + end +end diff --git a/lib/mindee/v2/parsing/search/search_response.rb b/lib/mindee/v2/parsing/search/search_response.rb index 18df8235..a72d3e5b 100644 --- a/lib/mindee/v2/parsing/search/search_response.rb +++ b/lib/mindee/v2/parsing/search/search_response.rb @@ -10,12 +10,15 @@ class SearchResponse < CommonResponse attr_reader :models # @return [Search::Pagination] Pagination metadata. attr_reader :pagination + # @return [Search::Pagination] Pagination metadata. + attr_reader :pagination_metadata def initialize(server_response) super @models = SearchModels.new(server_response['models']) @pagination = Pagination.new(server_response['pagination']) + @pagination_metadata = PaginationMetadata.new(server_response['pagination']) end # String representation. diff --git a/sig/mindee/v2/parsing/search/pagination_metadata.rbs b/sig/mindee/v2/parsing/search/pagination_metadata.rbs new file mode 100644 index 00000000..5c43bb62 --- /dev/null +++ b/sig/mindee/v2/parsing/search/pagination_metadata.rbs @@ -0,0 +1,20 @@ +# lib/mindee/v2/parsing/search/pagination_metadata.rbs + +module Mindee + module V2 + module Parsing + module Search + class PaginationMetadata + attr_reader page: Integer + attr_reader per_page: Integer + attr_reader total_items: Integer + attr_reader total_pages: Integer + + def initialize: (Hash[String|Symbol, untyped]) -> void + + def to_s: -> String + end + end + end + end +end diff --git a/sig/mindee/v2/parsing/search/search_models.rbs b/sig/mindee/v2/parsing/search/search_models.rbs new file mode 100644 index 00000000..6a102f93 --- /dev/null +++ b/sig/mindee/v2/parsing/search/search_models.rbs @@ -0,0 +1,13 @@ +# lib/mindee/v2/parsing/search/search_models.rb + +module Mindee + module V2 + module Parsing + module Search + # Array of search models. + class SearchModels < Array[SearchModel] + end + end + end + end +end diff --git a/sig/mindee/v2/parsing/search/search_response.rbs b/sig/mindee/v2/parsing/search/search_response.rbs index 386284ef..98a082f0 100644 --- a/sig/mindee/v2/parsing/search/search_response.rbs +++ b/sig/mindee/v2/parsing/search/search_response.rbs @@ -6,6 +6,7 @@ module Mindee class SearchResponse attr_reader models: Array[SearchResponse] attr_reader pagination: Pagination + attr_reader pagination_metadata: PaginationMetadata def initialize: (Hash[String|Symbol, untyped]) -> void From 3c98c67604a8e82395b18c2e738321888ffe0ed4 Mon Sep 17 00:00:00 2001 From: sebastianMindee <130448732+sebastianMindee@users.noreply.github.com> Date: Fri, 29 May 2026 10:06:17 +0200 Subject: [PATCH 3/3] fix name --- lib/mindee/v2/parsing/search.rb | 1 - lib/mindee/v2/parsing/search/pagination.rb | 44 ------------------- .../v2/parsing/search/search_response.rb | 8 ++-- sig/mindee/v2/parsing/search/pagination.rbs | 20 --------- .../v2/parsing/search/search_response.rbs | 2 +- 5 files changed, 5 insertions(+), 70 deletions(-) delete mode 100644 lib/mindee/v2/parsing/search/pagination.rb delete mode 100644 sig/mindee/v2/parsing/search/pagination.rbs diff --git a/lib/mindee/v2/parsing/search.rb b/lib/mindee/v2/parsing/search.rb index 86f2c9b5..19050b2b 100644 --- a/lib/mindee/v2/parsing/search.rb +++ b/lib/mindee/v2/parsing/search.rb @@ -1,6 +1,5 @@ # frozen_string_literal: true -require_relative 'search/pagination' require_relative 'search/pagination_metadata' require_relative 'search/search_model' require_relative 'search/search_models' diff --git a/lib/mindee/v2/parsing/search/pagination.rb b/lib/mindee/v2/parsing/search/pagination.rb deleted file mode 100644 index a2108889..00000000 --- a/lib/mindee/v2/parsing/search/pagination.rb +++ /dev/null @@ -1,44 +0,0 @@ -# frozen_string_literal: true - -module Mindee - module V2 - module Parsing - module Search - # Pagination Metadata data associated with model search. - class Pagination - # @return [Integer] Number of items per page. - attr_reader :per_page - - # @return [Integer] 1-indexed page number. - attr_reader :page - - # @return [Integer] Total items. - attr_reader :total_items - - # @return [Integer] Total number of pages. - attr_reader :total_pages - - # @param raw_response [Hash] The parsed JSON payload mapping to pagination metadata. - def initialize(raw_response) - @per_page = raw_response['per_page'] - @page = raw_response['page'] - @total_items = raw_response['total_items'] - @total_pages = raw_response['total_pages'] - end - - # String representation of the pagination metadata. - # @return [String] - def to_s - [ - ":Per Page: #{@per_page}", - ":Page: #{@page}", - ":Total Items: #{@total_items}", - ":Total Pages: #{@total_pages}", - '', - ].join("\n") - end - end - end - end - end -end diff --git a/lib/mindee/v2/parsing/search/search_response.rb b/lib/mindee/v2/parsing/search/search_response.rb index a72d3e5b..3b7ee41f 100644 --- a/lib/mindee/v2/parsing/search/search_response.rb +++ b/lib/mindee/v2/parsing/search/search_response.rb @@ -8,17 +8,17 @@ module Search class SearchResponse < CommonResponse # @return [Search::SearchModels] Parsed search payload. attr_reader :models - # @return [Search::Pagination] Pagination metadata. + # @return [Search::PaginationMetadata] Pagination metadata. attr_reader :pagination - # @return [Search::Pagination] Pagination metadata. + # @return [Search::PaginationMetadata] Pagination metadata. attr_reader :pagination_metadata def initialize(server_response) super @models = SearchModels.new(server_response['models']) - @pagination = Pagination.new(server_response['pagination']) - @pagination_metadata = PaginationMetadata.new(server_response['pagination']) + @pagination = PaginationMetadata.new(server_response['pagination']) + @pagination_metadata = @pagination end # String representation. diff --git a/sig/mindee/v2/parsing/search/pagination.rbs b/sig/mindee/v2/parsing/search/pagination.rbs deleted file mode 100644 index 2bf58261..00000000 --- a/sig/mindee/v2/parsing/search/pagination.rbs +++ /dev/null @@ -1,20 +0,0 @@ -# lib/mindee/v2/parsing/search/pagination.rbs - -module Mindee - module V2 - module Parsing - module Search - class Pagination - attr_reader page: Integer - attr_reader per_page: Integer - attr_reader total_items: Integer - attr_reader total_pages: Integer - - def initialize: (Hash[String|Symbol, untyped]) -> void - - def to_s: -> String - end - end - end - end -end diff --git a/sig/mindee/v2/parsing/search/search_response.rbs b/sig/mindee/v2/parsing/search/search_response.rbs index 98a082f0..953ab4e7 100644 --- a/sig/mindee/v2/parsing/search/search_response.rbs +++ b/sig/mindee/v2/parsing/search/search_response.rbs @@ -5,7 +5,7 @@ module Mindee module Search class SearchResponse attr_reader models: Array[SearchResponse] - attr_reader pagination: Pagination + attr_reader pagination: PaginationMetadata attr_reader pagination_metadata: PaginationMetadata def initialize: (Hash[String|Symbol, untyped]) -> void