Sha256: 2952bfa505ece3e4a5814b08807a0d7248626d709b434eb6c2269c34317fe681
Contents?: true
Size: 935 Bytes
Versions: 1
Compression:
Stored size: 935 Bytes
Contents
module SlideHero require 'erb' require 'tilt' class Presentation attr_reader :title def initialize(title, &block) @title = title @slide_defaults = {} instance_eval(&block) end def compile gem_path = Gem.loaded_specs['slide_hero'].full_gem_path Tilt::ERBTemplate.new(File.join(gem_path, 'lib/slide_hero/views/layout.html.erb')). render(self) do collected_slides end end def defaults(args) @slide_defaults = args end def slide(title, **kwargs, &slide_block) slides << Slide.new(title, @slide_defaults.merge(**kwargs), &slide_block).compile end def grouped_slides(&block) slides << GroupedSlides.new(@slide_defaults, &block).compile end def collected_slides slides.join end def slides @slides ||= [] end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
slide_hero-0.0.3 | lib/slide_hero/presentation.rb |