Class: Straddle::Models::PageMetadata

Inherits:
Internal::Type::BaseModel show all
Defined in:
lib/straddle/models/page_metadata.rb,
sig/straddle/models/page_metadata.rbs

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from Internal::Type::BaseModel

==, #==, #[], coerce, #deconstruct_keys, #deep_to_h, dump, fields, hash, #hash, inherited, inspect, #inspect, known_fields, optional, recursively_to_h, required, #to_h, #to_json, #to_s, to_sorbet_type, #to_yaml

Methods included from Internal::Type::Converter

#coerce, coerce, #dump, dump, inspect, #inspect, meta_info, new_coerce_state, type_info

Methods included from Internal::Util::SorbetRuntimeSupport

#const_missing, #define_sorbet_constant!, #sorbet_constant_defined?, #to_sorbet_type, to_sorbet_type

Constructor Details

#initialize(api_request_id:, api_request_timestamp:, max_page_size:, page_number:, page_size:, sort_by:, sort_order:, total_items:, total_pages:) ⇒ Object

Metadata for an API request and a page of results.

Parameters:

  • api_request_id (String) —

    Unique identifier for the API request.

  • api_request_timestamp (Time) —

    UTC timestamp for the API request.

  • max_page_size (Integer) —

    Maximum page size allowed for this endpoint.

  • page_number (Integer) —

    Current page number.

  • page_size (Integer) —

    Number of items per page.

  • sort_by (String) —

    Field used to sort the results.

  • sort_order (Symbol, Straddle::Models::SortOrder) —

    Sort direction for the results.

  • total_items (Integer) —

    Total number of items available across all pages.

  • total_pages (Integer) —

    Total number of pages available.



# File 'lib/straddle/models/page_metadata.rb', line 60

Instance Attribute Details

#api_request_id ⇒ String

Unique identifier for the API request.

Parameters:

  • value (String)

Returns:

  • (String)


10
# File 'lib/straddle/models/page_metadata.rb', line 10

required :api_request_id, String

#api_request_timestamp ⇒ Time

UTC timestamp for the API request.

Parameters:

  • value (Time)

Returns:

  • (Time)


16
# File 'lib/straddle/models/page_metadata.rb', line 16

required :api_request_timestamp, Time

#max_page_size ⇒ Integer

Maximum page size allowed for this endpoint.

Parameters:

  • value (Integer)

Returns:

  • (Integer)


22
# File 'lib/straddle/models/page_metadata.rb', line 22

required :max_page_size, Integer

#page_number ⇒ Integer

Current page number.

Parameters:

  • value (Integer)

Returns:

  • (Integer)


28
# File 'lib/straddle/models/page_metadata.rb', line 28

required :page_number, Integer

#page_size ⇒ Integer

Number of items per page.

Parameters:

  • value (Integer)

Returns:

  • (Integer)


34
# File 'lib/straddle/models/page_metadata.rb', line 34

required :page_size, Integer

#sort_by ⇒ String

Field used to sort the results.

Parameters:

  • value (String)

Returns:

  • (String)


40
# File 'lib/straddle/models/page_metadata.rb', line 40

required :sort_by, String

#sort_order ⇒ Symbol, Straddle::Models::SortOrder

Sort direction for the results.

Parameters:

  • value (Straddle::Models::sort_order)

Returns:



46
# File 'lib/straddle/models/page_metadata.rb', line 46

required :sort_order, enum: -> { Straddle::SortOrder }

#total_items ⇒ Integer

Total number of items available across all pages.

Parameters:

  • value (Integer)

Returns:

  • (Integer)


52
# File 'lib/straddle/models/page_metadata.rb', line 52

required :total_items, Integer

#total_pages ⇒ Integer

Total number of pages available.

Parameters:

  • value (Integer)

Returns:

  • (Integer)


58
# File 'lib/straddle/models/page_metadata.rb', line 58

required :total_pages, Integer

Instance Method Details

#to_hash ⇒ {

Returns:

  • ({)


47
# File 'sig/straddle/models/page_metadata.rbs', line 47

def to_hash: -> {