Sha256: 786a487565910dec2bca5f142753baec47bf72f32e9595eda6bf8ad063bdb7ec

Contents?: true

Size: 559 Bytes

Versions: 1

Compression:

Stored size: 559 Bytes

Contents

class Forest::BlockSet
  delegate_missing_to :@blocks

  def initialize(blocks = [], options = {})
    @blocks = blocks
  end

  def kind(block_kinds)
    @kind ||= {}
    block_kinds = Array(block_kinds).collect(&:to_s)
    @kind[block_kinds] ||= block_kinds
    @blocks.select do |block|
      @kind[block_kinds].select do |block_kind|
        @kind[block_kinds].include?(block.class.name)
      end.present?
    end
  end

  def first_of_kind(block_kind)
    kind(block_kind).first
  end

  def last_of_kind(block_kind)
    kind(block_kind).last
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
forest_cms-0.98.1 app/classes/forest/block_set.rb