Class: HakumiComponents::Progress::StatusState

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

Constant Summary collapse

ProgressValue =
T.type_alias { Numeric }

Instance Method Summary collapse

Constructor Details

#initialize(percent:, explicit_status:) ⇒ StatusState

Returns a new instance of StatusState.



12
13
14
15
# File 'app/components/hakumi_components/progress/status_state.rb', line 12

def initialize(percent:, explicit_status:)
  @percent = T.let(percent, ProgressValue)
  @explicit_status = T.let(explicit_status, T.nilable(Symbol))
end

Instance Method Details

#explicit?Boolean

Returns:

  • (Boolean)


26
27
28
# File 'app/components/hakumi_components/progress/status_state.rb', line 26

def explicit?
  !@explicit_status.nil?
end

#valueObject



18
19
20
21
22
23
# File 'app/components/hakumi_components/progress/status_state.rb', line 18

def value
  status = @explicit_status
  return status unless status.nil?

  @percent.to_f >= 100 ? :success : :normal
end