class Slidr::Commands::SlideCommand
Public Class Methods
new(pattern, slides, filters={})
click to toggle source
# File lib/slidr/commands/slide_command.rb, line 6 def initialize(pattern, slides, filters={}) @pattern = pattern @slides = slides @publish = filters[:publish] @draft = filters[:draft] end
Public Instance Methods
go(content)
click to toggle source
# File lib/slidr/commands/slide_command.rb, line 13 def go(content) slides = [] if @publish == :all slides = @slides else @slides.each do |slide| class_attrib = slide.lines.grep(/^class: [a-zA-Z0-9 ,:-]+$/) if @publish.any? { |cond| class_attrib.empty? ? false : class_attrib.first.include?(":#{ cond }") } slides << slide end end end slides = slides.map { |slide| slide.sub(/^---$/, '').strip }.join("\n---\n") content.sub(@pattern, slides) end