Class: HakumiComponents::Pagination::PageItem

Inherits:
Object
  • Object
show all
Extended by:
T::Sig
Defined in:
app/components/hakumi_components/pagination/page_item.rb

Constant Summary collapse

KINDS =
T.let(%i[page jump_prev jump_next].freeze, T::Array[Symbol])

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(kind:, number: nil) ⇒ PageItem

Returns a new instance of PageItem.



12
13
14
15
16
# File 'app/components/hakumi_components/pagination/page_item.rb', line 12

def initialize(kind:, number: nil)
  @kind = T.let(kind, Symbol)
  @number = T.let(number, T.nilable(Integer))
  validate_kind!
end

Instance Attribute Details

#kindObject (readonly)

Returns the value of attribute kind.



19
20
21
# File 'app/components/hakumi_components/pagination/page_item.rb', line 19

def kind
  @kind
end

#numberObject (readonly)

Returns the value of attribute number.



22
23
24
# File 'app/components/hakumi_components/pagination/page_item.rb', line 22

def number
  @number
end

Instance Method Details

#jump_next?Boolean

Returns:

  • (Boolean)


35
36
37
# File 'app/components/hakumi_components/pagination/page_item.rb', line 35

def jump_next?
  @kind == :jump_next
end

#jump_prev?Boolean

Returns:

  • (Boolean)


30
31
32
# File 'app/components/hakumi_components/pagination/page_item.rb', line 30

def jump_prev?
  @kind == :jump_prev
end

#page?Boolean

Returns:

  • (Boolean)


25
26
27
# File 'app/components/hakumi_components/pagination/page_item.rb', line 25

def page?
  @kind == :page
end