Class: Brainzlab::Components::Avatar

Inherits:
Base
  • Object
show all
Defined in:
lib/brainzlab/components/avatar.rb

Constant Summary collapse

SIZES =
{
  sm: 'avatar-sm',
  md: 'avatar-md',
  lg: 'avatar-lg',
  xl: 'avatar-xl'
}.freeze
VARIANTS =
{
  primary: 'avatar-primary',
  neutral: 'avatar-neutral'
}.freeze

Instance Method Summary collapse

Methods inherited from Base

#classes

Constructor Details

#initialize(name: nil, src: nil, size: :md, variant: :primary, **attrs) ⇒ Avatar

Returns a new instance of Avatar.



18
19
20
21
22
23
24
# File 'lib/brainzlab/components/avatar.rb', line 18

def initialize(name: nil, src: nil, size: :md, variant: :primary, **attrs)
  @name = name
  @src = src
  @size = size
  @variant = variant
  @attrs = attrs
end

Instance Method Details

#view_templateObject



26
27
28
29
30
31
32
33
34
35
36
37
38
# File 'lib/brainzlab/components/avatar.rb', line 26

def view_template
  if @src
    img(
      src: @src,
      alt: @name || 'Avatar',
      class: avatar_classes
    )
  else
    div(class: avatar_classes) do
      initials
    end
  end
end