Sha256: 47cf9e0f35567ff0f39800476b997c1ee54043e25fcbdc9005a152c3a1d115a5

Contents?: true

Size: 998 Bytes

Versions: 3

Compression:

Stored size: 998 Bytes

Contents

class Tramway::Landing::BlockDecorator < ::Tramway::Core::ApplicationDecorator
  class << self
    def collections
      [ :all ]
    end

    def list_attributes
      [ :position, :view_state, :block_type ]
    end

    delegate :human_view_state_event_name, to: :model_class
  end

  delegate :position, to: :object
  delegate :title, to: :object
  delegate :background, to: :object
  delegate :anchor, to: :object
  delegate :description, to: :object
  delegate :anchor, to: :object
  
  def block_type
    object.block_type_text
  end

  def view_state
    object.human_view_state_name
  end

  def view_state_button_color(event)
    case event
    when :publish
      :primary
    when :hide
      :secondary
    end
  end

  def button
    if object.button.present? && object.button['title'].present? && object.button['link'].present?
      content_tag :a, href: object.button['link'], target: '_blank', class: 'btn btn-primary' do
        object.button['title']
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
tramway-landing-1.7.2 app/decorators/tramway/landing/block_decorator.rb
tramway-landing-1.7.1.2 app/decorators/tramway/landing/block_decorator.rb
tramway-landing-1.7.1.1 app/decorators/tramway/landing/block_decorator.rb