Skip to content
Snippets Groups Projects
base.rb 647 B
Newer Older
Arnaud Levy's avatar
wip
Arnaud Levy committed
class Communication::Block::Component::Base
Arnaud Levy's avatar
Arnaud Levy committed
  include WithAccessibility
Arnaud Levy's avatar
wip
Arnaud Levy committed
  attr_reader :property, :template

Arnaud Levy's avatar
Arnaud Levy committed
  def initialize(property, template, options = nil)
Arnaud Levy's avatar
wip
Arnaud Levy committed
    @property = property.to_s
    @template = template
Arnaud Levy's avatar
Arnaud Levy committed
    @options = options
Arnaud Levy's avatar
wip
Arnaud Levy committed
  end

Arnaud Levy's avatar
Arnaud Levy committed
  def default_data
    ''
  end

Arnaud Levy's avatar
Arnaud Levy committed
  def data
Arnaud Levy's avatar
Arnaud Levy committed
    @data || default_data
Arnaud Levy's avatar
wip
Arnaud Levy committed
  end

Arnaud Levy's avatar
Arnaud Levy committed
  def data=(value)
Arnaud Levy's avatar
Arnaud Levy committed
    @data = value
Arnaud Levy's avatar
wip
Arnaud Levy committed
  end
Arnaud Levy's avatar
Arnaud Levy committed

  def kind
    self.class.name.demodulize.underscore
  end
Arnaud Levy's avatar
Arnaud Levy committed

  def git_dependencies
    []
  end
Arnaud Levy's avatar
Arnaud Levy committed

  def website
    template.block.about&.website
  end

  def translate!
    # By default, does nothing. Specific cases are handled in their own definitions. (example: post)
  end
Arnaud Levy's avatar
wip
Arnaud Levy committed
end