Module: Slideshow::ManifestHelper

Included in:
Gen, List, Quick
Defined in:
lib/slideshow/manifest_helpers.rb

Instance Method Summary collapse

Instance Method Details

#installed_quick_manifest_patternsObject



48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
# File 'lib/slideshow/manifest_helpers.rb', line 48

def installed_quick_manifest_patterns
  # 1) search config_dir/templates
  # 2) search gem/templates 
 
  builtin_patterns = [
    "#{Slideshow.root}/templates/*.{txt.quick,quick.txt}"
  ]
  config_patterns  = [
    "#{config.config_dir}/templates/*.{txt.quick,quick.txt}",
    "#{config.config_dir}/templates/*/*.{txt.quick,quick.txt}"
  ]
  
  patterns = []
  patterns += config_patterns
  patterns += builtin_patterns
end

#installed_quick_manifestsObject

quickstarter templates



65
66
67
# File 'lib/slideshow/manifest_helpers.rb', line 65

def installed_quick_manifests  # quickstarter templates
  Pakman::Finder.new( logger ).find_manifests( installed_quick_manifest_patterns )
end

#installed_template_manifest_patternsObject

shared methods for handling manifest lookups



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/slideshow/manifest_helpers.rb', line 7

def installed_template_manifest_patterns
  # 1) search ./templates
  # 2) search config_dir/templates
  # 3) search gem/templates

  builtin_patterns = [
    "#{Slideshow.root}/templates/*.txt"
  ]
  config_patterns  = [
    "#{config.config_dir}/templates/*.txt",
    "#{config.config_dir}/templates/*/*.txt"
  ]
  current_patterns = [
    "templates/*.txt",
    "templates/*/*.txt"     # todo: use all in one line? {*.txt,*/*.txt} does it work?
  ]
  
  patterns = []
  patterns += current_patterns  unless Slideshow.root == File.expand_path( '.' )  # don't include working dir if we test code from repo (don't include slideshow/templates)
  patterns += config_patterns
  patterns += builtin_patterns
end

#installed_template_manifestsObject



30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# File 'lib/slideshow/manifest_helpers.rb', line 30

def installed_template_manifests
  ## note: code moved to its own gem, that is, pakman
  ## see https://github.com/geraldb/pakman

  ## exclude manifest.txt/i  (avoid confusion w/ ruby gem manifest; not a specific name anyway)
  ##  also exclude patterns for quickstarter templates
  
  excludes = [
    'manifest.txt',
    '*/manifest.txt',
    '*.{txt.quick,quick.txt}',
    '*/*.{txt.quick,quick.txt}'
  ]

  Pakman::Finder.new( logger ).find_manifests( installed_template_manifest_patterns, excludes )
end