Class: Voom::Presenters::DSL::Components::Typography

Inherits:
EventBase
  • Object
show all
Includes:
Mixins::Tooltips
Defined in:
lib/voom/presenters/dsl/components/typography.rb

Direct Known Subclasses

Link, PageTitle

Instance Attribute Summary collapse

Attributes inherited from EventBase

#event_parent_id

Attributes included from Mixins::Event

#events

Attributes inherited from Base

#attributes, #css_class, #draggable, #drop_zone, #id, #tag, #type

Instance Method Summary collapse

Methods included from Mixins::Tooltips

#tooltip

Methods included from Mixins::Event

#event

Methods inherited from Base

#expand!

Methods included from Pluggable

#include_plugins, #plugin, #plugin_module

Methods included from Mixins::YieldTo

#yield_to

Methods included from Serializer

#to_hash

Methods included from Lockable

#locked?

Constructor Details

#initialize(parent:, level: nil, **attribs_, &block) ⇒ Typography

Returns a new instance of Typography.



10
11
12
13
14
15
16
17
18
19
# File 'lib/voom/presenters/dsl/components/typography.rb', line 10

def initialize(parent:, level: nil, **attribs_, &block)
  super(type: :text, parent: parent, **attribs_, &block)
  @text = Array(attribs.delete(:text)||'').flatten.join("\n\n").split("\n\n")
  @level = level
  @color = attribs.delete(:color)
  @inline = attribs.delete(:inline) { false }
  @position = Array(attribs.delete(:position)).compact
  @markdown = attribs.delete(:markdown) { true }
  expand!
end

Instance Attribute Details

#colorObject

Returns the value of attribute color.



8
9
10
# File 'lib/voom/presenters/dsl/components/typography.rb', line 8

def color
  @color
end

#inlineObject

Returns the value of attribute inline.



8
9
10
# File 'lib/voom/presenters/dsl/components/typography.rb', line 8

def inline
  @inline
end

#levelObject

Returns the value of attribute level.



8
9
10
# File 'lib/voom/presenters/dsl/components/typography.rb', line 8

def level
  @level
end

#markdownObject

Returns the value of attribute markdown.



8
9
10
# File 'lib/voom/presenters/dsl/components/typography.rb', line 8

def markdown
  @markdown
end

#positionObject

Returns the value of attribute position.



8
9
10
# File 'lib/voom/presenters/dsl/components/typography.rb', line 8

def position
  @position
end

#textObject

Returns the value of attribute text.



8
9
10
# File 'lib/voom/presenters/dsl/components/typography.rb', line 8

def text
  @text
end

Instance Method Details

#icon(icon = nil, **attribs, &block) ⇒ Object



21
22
23
24
25
# File 'lib/voom/presenters/dsl/components/typography.rb', line 21

def icon(icon=nil, **attribs, &block)
  return @icon if locked?
  @icon = Components::Icon.new(parent: self, icon: icon,
                               **attribs, &block)
end