class MagicReveal::RevealJsFetcher

Fetches Reveal.js

Attributes

conductor[W]
version[R]

Public Class Methods

new(version = REVEAL_JS_VERSION) click to toggle source
# File lib/magic_reveal/reveal_js_fetcher.rb, line 11
def initialize(version = REVEAL_JS_VERSION)
  @version = version
end

Public Instance Methods

conductor() click to toggle source
# File lib/magic_reveal/reveal_js_fetcher.rb, line 19
def conductor
  @conductor ||= Conductor.new zip_url
end
save_important_parts_to(reveal_dir) click to toggle source
# File lib/magic_reveal/reveal_js_fetcher.rb, line 33
def save_important_parts_to(reveal_dir)
  reveal_dir = Pathname.new reveal_dir
  reveal_dir.mkdir unless reveal_dir.exist?

  Dir.mktmpdir do |tmpdir|
    tmp_reveal_dir = Pathname(tmpdir) + 'reveal.js'
    save_to(tmp_reveal_dir.to_s)
    tmp_reveal_dir.children.select(&:directory?).reject { |c| %w[test].include? c.basename.to_s }.each do |dir|
      FileUtils.cp_r(dir.to_s, reveal_dir.to_s)
    end
  end
end
save_to(reveal_dir) click to toggle source
# File lib/magic_reveal/reveal_js_fetcher.rb, line 23
def save_to(reveal_dir)
  reveal_dir = Pathname.new reveal_dir

  Dir.mktmpdir do |tmpdir|
    zipfile = tmpdir + "fetching-#{REVEAL_JS_VERSION}.zip"
    conductor.fetch(zipfile)
    conductor.unpack(zipfile, reveal_dir)
  end
end
zip_url() click to toggle source
# File lib/magic_reveal/reveal_js_fetcher.rb, line 15
def zip_url
  "https://github.com/hakimel/reveal.js/archive/#{@version}.zip"
end