Class: Locomotive::Steam::Liquid::Drops::SectionBlock

Inherits:
Liquid::Drop
  • Object
show all
Defined in:
lib/locomotive/steam/liquid/drops/section_block.rb

Overview

Section block drop

Instance Method Summary collapse

Constructor Details

#initialize(section, block, index) ⇒ SectionBlock

Returns a new instance of SectionBlock.



9
10
11
12
13
14
15
16
# File 'lib/locomotive/steam/liquid/drops/section_block.rb', line 9

def initialize(section, block, index)
  @section    = section
  @block      = block || { 'settings' => {} }
  @index      = index
  @definition = section.definition['blocks'].find do |block|
    block['type'] == type
  end || {}
end

Instance Method Details

#idObject



18
19
20
# File 'lib/locomotive/steam/liquid/drops/section_block.rb', line 18

def id
  @block['id'] || @index
end

#locomotive_attributesObject



33
34
35
36
# File 'lib/locomotive/steam/liquid/drops/section_block.rb', line 33

def locomotive_attributes
  value = "section-#{@context['section'].id}-block-#{id}"
  %(data-locomotive-block="#{value}")
end

#settingsObject



26
27
28
29
30
31
# File 'lib/locomotive/steam/liquid/drops/section_block.rb', line 26

def settings
  @content_proxy ||= SectionContentProxy.new(
    @block['settings'] || {},
    @definition['settings'] || []
  )
end

#typeObject



22
23
24
# File 'lib/locomotive/steam/liquid/drops/section_block.rb', line 22

def type
  @block['type']
end