module Smooster::Deploy::SiteTemplates

Public Instance Methods

all()
Alias for: collection
collection() click to toggle source
# File lib/smooster/deploy/site_templates.rb, line 5
def collection
  collection = []
  response.each do |file|
    body = File.read(file)
    template = SiteTemplate.new({:body => body, :path => file, :checksum => Digest::MD5.hexdigest(body)})
    template.smo_id = template.load_smo_id if template.load_smo_id.present?
    source = Nokogiri::HTML(body)
    if source.css('title').first
      if /^[a-z0-9\/\-]+$/.match(source.css('title').first)
        template.title = source.css('title').first.inner_html
        collection << template
      else
        puts "Couldn't create template, because the templates title-tag name must contain ONLY lower case letters, numbers and hyphens (-): #{source.css('title').first}".colorize(:red)
      end
    else
      puts "The file #{file} is not a valid HTMl-Document. Also be sure to add a title-tag".colorize(:red)
    end
  end
  collection
end
Also aliased as: all
method_missing(name, *args, &block) click to toggle source
Calls superclass method
# File lib/smooster/deploy/site_templates.rb, line 41
def method_missing(name, *args, &block)
  if collection.respond_to? name
    collection.send(name, *args)
  else
    super
  end
end
reload!() click to toggle source
# File lib/smooster/deploy/site_templates.rb, line 31
def reload!
  @response = initialize_collection
end
response() click to toggle source
# File lib/smooster/deploy/site_templates.rb, line 27
def response
  @response ||= initialize_collection
end
upload_all() click to toggle source
# File lib/smooster/deploy/site_templates.rb, line 35
def upload_all
  self.all.each do |template|
    template.upload
  end
end

Private Instance Methods

initialize_collection() click to toggle source
# File lib/smooster/deploy/site_templates.rb, line 50
def initialize_collection
  Dir.glob("#{Smooster::Application.instance.base_dir}/#{Smooster::Application.instance.html_folder()}/**/*.html")
end