Class: Telm::Core::Query::Result

Inherits:
Struct
  • Object
show all
Defined in:
lib/telm/core/query.rb

Overview

rubocop:disable Lint/StructNewOverride -- :sort here is the sort column name; Struct#sort is never used on Result

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#dirObject

Returns the value of attribute dir

Returns:

  • (Object)

    the current value of dir



17
18
19
# File 'lib/telm/core/query.rb', line 17

def dir
  @dir
end

#pageObject

Returns the value of attribute page

Returns:

  • (Object)

    the current value of page



17
18
19
# File 'lib/telm/core/query.rb', line 17

def page
  @page
end

#per_pageObject

Returns the value of attribute per_page

Returns:

  • (Object)

    the current value of per_page



17
18
19
# File 'lib/telm/core/query.rb', line 17

def per_page
  @per_page
end

#recordsObject

Returns the value of attribute records

Returns:

  • (Object)

    the current value of records



17
18
19
# File 'lib/telm/core/query.rb', line 17

def records
  @records
end

#sortObject

Returns the value of attribute sort

Returns:

  • (Object)

    the current value of sort



17
18
19
# File 'lib/telm/core/query.rb', line 17

def sort
  @sort
end

#totalObject

Returns the value of attribute total

Returns:

  • (Object)

    the current value of total



17
18
19
# File 'lib/telm/core/query.rb', line 17

def total
  @total
end

Instance Method Details

#first_rowObject



27
28
29
# File 'lib/telm/core/query.rb', line 27

def first_row
  total.zero? ? 0 : offset + 1
end

#last_rowObject



31
32
33
# File 'lib/telm/core/query.rb', line 31

def last_row
  offset + records.size
end

#offsetObject



23
24
25
# File 'lib/telm/core/query.rb', line 23

def offset
  (page - 1) * per_page
end

#pagesObject

rubocop:enable Lint/StructNewOverride



19
20
21
# File 'lib/telm/core/query.rb', line 19

def pages
  [(total / per_page.to_f).ceil, 1].max
end