Class: HakumiComponents::Carousel::DotsConfig

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

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(enabled:, class_name: nil) ⇒ DotsConfig

Returns a new instance of DotsConfig.



10
11
12
13
# File 'app/components/hakumi_components/carousel/dots_config.rb', line 10

def initialize(enabled:, class_name: nil)
  @enabled = T.let(enabled, T::Boolean)
  @class_name = T.let(class_name, T.nilable(String))
end

Instance Attribute Details

#class_nameObject (readonly)

Returns the value of attribute class_name.



19
20
21
# File 'app/components/hakumi_components/carousel/dots_config.rb', line 19

def class_name
  @class_name
end

#enabledObject (readonly)

Returns the value of attribute enabled.



16
17
18
# File 'app/components/hakumi_components/carousel/dots_config.rb', line 16

def enabled
  @enabled
end

Class Method Details

.coerce(value, override_class_name: nil) ⇒ Object



27
28
29
30
31
32
33
# File 'app/components/hakumi_components/carousel/dots_config.rb', line 27

def self.coerce(value, override_class_name: nil)
  return new(enabled: value, class_name: override_class_name) if value == true || value == false

  raw_class_name = value[:class_name] || value[:class]
  class_name = raw_class_name.is_a?(String) ? raw_class_name : override_class_name
  new(enabled: true, class_name: class_name)
end