class Slideshow::Quick
Attributes
config[R]
Public Class Methods
new( config )
click to toggle source
# File lib/slideshow/commands/quick.rb, line 11 def initialize( config ) @config = config end
Public Instance Methods
fetch_pak( shortcut )
click to toggle source
todo rename to fetch_quick_pak??
share/use same code in fetch too??
# File lib/slideshow/commands/quick.rb, line 49 def fetch_pak( shortcut ) sources = config.map_fetch_shortcut( shortcut ) if sources.empty? puts "*** error: no mapping found for shortcut '#{shortcut}'." exit 2 end sources = sources.select { |s| s.include?('.txt.quick') || s.include?('.quick.txt') } if sources.empty? puts "*** error: no quick mapping found for shortcut '#{shortcut}'." exit 2 end src = sources[0] puts " Mapping quick shortcut '#{shortcut}' to: #{src}" # src = 'http://github.com/geraldb/slideshow/raw/d98e5b02b87ee66485431b1bee8fb6378297bfe4/code/templates/fullerscreen.txt' # src = 'http://github.com/geraldb/sandbox/raw/13d4fec0908fbfcc456b74dfe2f88621614b5244/s5blank/s5blank.txt' uri = URI.parse( src ) logger.debug "scheme: #{uri.scheme}, host: #{uri.host}, port: #{uri.port}, path: #{uri.path}" pakname = File.basename( uri.path ).downcase.gsub('.txt','') pakpath = File.expand_path( "#{config.config_dir}/templates/#{pakname}" ) logger.debug "pakname >#{pakname}<" logger.debug "pakpath >#{pakpath}<" Pakman::Fetcher.new.fetch_pak( src, pakpath ) end
run()
click to toggle source
# File lib/slideshow/commands/quick.rb, line 17 def run manifest_name = config.quick_manifest.gsub('.txt','').gsub('.quick','') # make sure we get name w/o .quick and .txt extension ### todo:fix: always download quickstart templates (except welcome?) # how to make sure the won't go stale in the cache after the download? manifests = installed_quick_manifests matches = manifests.select { |m| (m[0] == manifest_name+'.txt.quick') || (m[0] == manifest_name+'.quick.txt') } if matches.empty? fetch_pak( manifest_name ) # retry manifests = installed_quick_manifests matches = manifests.select { |m| (m[0] == manifest_name+'.txt.quick') || (m[0] == manifest_name+'.quick.txt') } if matches.empty? puts "*** error: quickstart template #{manifest_name} not found" exit 2 end end manifestsrc = matches[0][1] pakpath = config.output_path logger.debug( "manifestsrc=>#{manifestsrc}<, pakpath=>#{pakpath}<" ) Pakman::Copier.new.copy_pak( manifestsrc, pakpath ) end