Module: Slideshow::ManifestHelper

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

Instance Method Summary collapse

Instance Method Details

#installed_plugin_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
# File 'lib/slideshow/manifest_helpers.rb', line 7

def installed_plugin_manifest_patterns
  # 1) search ./plugins
  # 2) search config_dir/plugins

  config_patterns  = [
    "#{config.config_dir}/plugins/*.{txt.plugin,plugin.txt}",
    "#{config.config_dir}/plugins/*/*.{txt.plugin,plugin.txt}"
  ]
  current_patterns = [
    "plugins/*.{txt.plugin,plugin.txt}",
    "plugins/*/*.{txt.plugin,plugin.txt}"
  ]
  
  patterns = []
  patterns += current_patterns
  patterns += config_patterns
end

#installed_plugin_manifestsObject

quickstarter templates



25
26
27
# File 'lib/slideshow/manifest_helpers.rb', line 25

def installed_plugin_manifests  # quickstarter templates
  Pakman::Finder.new( logger ).find_manifests( installed_plugin_manifest_patterns )
end

#installed_quick_manifest_patternsObject



71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
# File 'lib/slideshow/manifest_helpers.rb', line 71

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



88
89
90
# File 'lib/slideshow/manifest_helpers.rb', line 88

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

#installed_template_manifest_patternsObject



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

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



53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
# File 'lib/slideshow/manifest_helpers.rb', line 53

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