Sha256: 0feffbcc22499b6ebfa98146136cbba8f8a4d7024686ce8c172d5aad7f5cb6dc

Contents?: true

Size: 1.1 KB

Versions: 4

Compression:

Stored size: 1.1 KB

Contents

require 'fileutils'
require 'magic_reveal/version'
require 'magic_reveal/conductor'

module MagicReveal
  class RevealJsFetcher
    attr_reader :version
    attr_writer :conductor

    def initialize(version=REVEAL_JS_VERSION)
      @version = version
    end

    def zip_url
      "https://github.com/hakimel/reveal.js/archive/#{@version}.zip"
    end

    def conductor
      @conductor ||= Conductor.new zip_url
    end

    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

    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?).each do |dir|
          FileUtils.cp_r(dir.to_s, (reveal_dir + dir.basename).to_s)
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
magic_reveal-2.6.1.1 lib/magic_reveal/reveal_js_fetcher.rb
magic_reveal-2.4.0.5 lib/magic_reveal/reveal_js_fetcher.rb
magic_reveal-2.4.0.4 lib/magic_reveal/reveal_js_fetcher.rb
magic_reveal-2.4.0.3 lib/magic_reveal/reveal_js_fetcher.rb