Class: Pluto::Formatter
- Inherits:
-
Object
- Object
- Pluto::Formatter
- Includes:
- LogUtils::Logging, Models, ManifestHelper, TextUtils::DateHelper, TextUtils::HypertextHelper
- Defined in:
- lib/pluto/merge/formatter.rb
Instance Attribute Summary collapse
-
#config ⇒ Object
readonly
Returns the value of attribute config.
-
#opts ⇒ Object
readonly
Returns the value of attribute opts.
-
#site ⇒ Object
readonly
Returns the value of attribute site.
Instance Method Summary collapse
-
#initialize(opts, config) ⇒ Formatter
constructor
A new instance of Formatter.
- #make_for(site_key, manifest_name, output_path) ⇒ Object
- #run(arg) ⇒ Object
Methods included from ManifestHelper
#installed_template_manifest_patterns, #installed_template_manifests
Constructor Details
permalink #initialize(opts, config) ⇒ Formatter
Returns a new instance of Formatter.
16 17 18 19 |
# File 'lib/pluto/merge/formatter.rb', line 16 def initialize( opts, config ) @opts = opts @config = config end |
Instance Attribute Details
permalink #config ⇒ Object (readonly)
Returns the value of attribute config.
21 22 23 |
# File 'lib/pluto/merge/formatter.rb', line 21 def config @config end |
permalink #opts ⇒ Object (readonly)
Returns the value of attribute opts.
21 22 23 |
# File 'lib/pluto/merge/formatter.rb', line 21 def opts @opts end |
permalink #site ⇒ Object (readonly)
Returns the value of attribute site.
21 22 23 |
# File 'lib/pluto/merge/formatter.rb', line 21 def site @site end |
Instance Method Details
permalink #make_for(site_key, manifest_name, output_path) ⇒ Object
[View source]
39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 |
# File 'lib/pluto/merge/formatter.rb', line 39 def make_for( site_key, manifest_name, output_path ) ## fix: remove reference to opts ## - e.g. now still used for auto-installer manifest_name = manifest_name.downcase.gsub('.txt', '' ) # remove .txt if present logger.debug "manifest=#{manifest_name}" # check for matching manifests manifests = installed_template_manifests.select { |m| m[0] == manifest_name+'.txt' } if manifests.empty? ### try - autodownload puts "*** template pack '#{manifest_name}' not found; trying auto-install..." Installer.new( opts ).install( manifest_name ) ### try again # check for matching manifests manifests = installed_template_manifests.select { |m| m[0] == manifest_name+'.txt' } if manifests.empty? puts "*** error: unknown template pack '#{manifest_name}'; use pluto ls to list installed template packs" exit 2 end end manifestsrc = manifests[0][1] pakpath = output_path @site = Site.find_by_key( site_key ) if @site.nil? puts "*** warn: no site with key '#{site_key}' found; using untitled site record" @site = Site.new @site.title = 'Planet Untitled' end Pakman::Templater.new.merge_pak( manifestsrc, pakpath, binding, site_key ) end |
permalink #run(arg) ⇒ Object
[View source]
24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/pluto/merge/formatter.rb', line 24 def run( arg ) ### remove - always use make( site_key ) ## fix: change arg to planet_key or just key or similar # todo: rename run to some less generic - merge/build/etc. ?? site_key = arg site_key = site_key.downcase.gsub('.ini','').gsub('.yml','') # remove .ini|.yml extension if present manifest_name = opts.manifest output_path = opts.output_path make_for(site_key, manifest_name, output_path ) end |