Class: Nexus::Invision::Resources::Page

Inherits:
Object
  • Object
show all
Extended by:
T::Generic, T::Sig
Includes:
ValueObject
Defined in:
lib/nexus/invision/resources/page.rb

Constant Summary collapse

TResource =
type_member { { upper: T::Struct } }

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from ValueObject

#class, #eql?

Constructor Details

#initialize(page:, per_page:, total_results:, total_pages:, results:) ⇒ Page



42
43
44
45
46
47
48
# File 'lib/nexus/invision/resources/page.rb', line 42

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

Instance Attribute Details

#pageObject (readonly)

Returns the value of attribute page.



19
20
21
# File 'lib/nexus/invision/resources/page.rb', line 19

def page
  @page
end

#per_pageObject (readonly)

Returns the value of attribute per_page.



22
23
24
# File 'lib/nexus/invision/resources/page.rb', line 22

def per_page
  @per_page
end

#resultsObject (readonly)

Returns the value of attribute results.



31
32
33
# File 'lib/nexus/invision/resources/page.rb', line 31

def results
  @results
end

#total_pagesObject (readonly)

Returns the value of attribute total_pages.



28
29
30
# File 'lib/nexus/invision/resources/page.rb', line 28

def total_pages
  @total_pages
end

#total_resultsObject (readonly)

Returns the value of attribute total_results.



25
26
27
# File 'lib/nexus/invision/resources/page.rb', line 25

def total_results
  @total_results
end

Instance Method Details

#serializeObject



51
52
53
54
55
56
57
58
59
# File 'lib/nexus/invision/resources/page.rb', line 51

def serialize
  {
    "page" => @page,
    "perPage" => @per_page,
    "totalResults" => @total_results,
    "totalPages" => @total_pages,
    "results" => @results.map(&:serialize),
  }
end