Sha256: 4a4d639987bd02cee520ce39c537a950435435c55414eb7ddbe7379b13fc8e48

Contents?: true

Size: 680 Bytes

Versions: 13

Compression:

Stored size: 680 Bytes

Contents

# encoding: utf-8
module Middleman
  module Presentation
    # A group of slides
    class SlideGroup
      private

      attr_reader :template

      public

      attr_reader :name, :slides

      def initialize(name:, slides:, template:)
        @name     = name
        @slides   = slides
        @template = template
      end

      # Combine paths of all slides
      def partial_path
        slides.map(&:partial_path).to_list
      end

      # Call block for each slide
      def render(&block)
        slides_content = slides.each_with_object([]) { |e, a| a << e.render(&block) }.join("\n")

        template.result(slides: slides_content)
      end
    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
middleman-presentation-core-0.17.7 lib/middleman-presentation-core/slide_group.rb
middleman-presentation-core-0.17.6 lib/middleman-presentation-core/slide_group.rb
middleman-presentation-core-0.17.5 lib/middleman-presentation-core/slide_group.rb
middleman-presentation-core-0.17.2 lib/middleman-presentation-core/slide_group.rb
middleman-presentation-core-0.17.1 lib/middleman-presentation-core/slide_group.rb
middleman-presentation-core-0.17.0 lib/middleman-presentation-core/slide_group.rb
middleman-presentation-core-0.16.3 lib/middleman-presentation-core/slide_group.rb
middleman-presentation-core-0.16.2 lib/middleman-presentation-core/slide_group.rb
middleman-presentation-core-0.16.0 lib/middleman-presentation-core/slide_group.rb
middleman-presentation-core-0.16.0.rc2 lib/middleman-presentation-core/slide_group.rb
middleman-presentation-core-0.16.0.rc1 lib/middleman-presentation-core/slide_group.rb
middleman-presentation-core-0.16.0.beta lib/middleman-presentation-core/slide_group.rb
middleman-presentation-core-0.16.0.alpha lib/middleman-presentation-core/slide_group.rb