Class: Spina::Parts::BlockCollection

Inherits:
Base
  • Object
show all
Defined in:
app/models/spina/parts/block_collection.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#optionsObject

Returns the value of attribute options.



8
9
10
# File 'app/models/spina/parts/block_collection.rb', line 8

def options
  @options
end

Instance Method Details

#block_ids=(value) ⇒ Object

Defense: strip nils, zeros, and blanks that may sneak in from form submissions



11
12
13
# File 'app/models/spina/parts/block_collection.rb', line 11

def block_ids=(value)
  super(Array(value).reject(&:blank?).map(&:to_i).reject(&:zero?).uniq)
end

#contentObject



15
16
17
18
19
20
# File 'app/models/spina/parts/block_collection.rb', line 15

def content
  return [] if block_ids.blank?

  blocks_by_id = ::Spina::Blocks::Block.active.where(id: block_ids).index_by(&:id)
  block_ids.filter_map { |id| blocks_by_id[id] }
end