Sha256: 60386d77f98fac0bab858b16b59eca2d2b5acdc782311b69d617cd7dbf2d25dc
Contents?: true
Size: 1.46 KB
Versions: 13
Compression:
Stored size: 1.46 KB
Contents
# typed: strict # frozen_string_literal: true require "nexus/invision/value_object" require "sorbet-runtime" module Nexus module Invision module Resources class Page extend T::Sig extend T::Generic include ValueObject TResource = type_member { { upper: T::Struct } } sig { returns(Integer) } attr_reader :page sig { returns(Integer) } attr_reader :per_page sig { returns(Integer) } attr_reader :total_results sig { returns(Integer) } attr_reader :total_pages sig { returns(T::Array[TResource]) } attr_reader :results sig do params( page: Integer, per_page: Integer, total_results: Integer, total_pages: Integer, results: T::Array[TResource], ).void end def initialize(page:, per_page:, total_results:, total_pages:, results:) @page = page @per_page = per_page @total_results = total_results @total_pages = total_pages @results = results end sig { override.returns(T::Hash[String, T.untyped]) } def serialize { "page" => @page, "perPage" => @per_page, "totalResults" => @total_results, "totalPages" => @total_pages, "results" => @results.map(&:serialize), } end end end end end
Version data entries
13 entries across 13 versions & 1 rubygems