Sha256: 88b5dc91b3e11295918a1667e32d83b2209d110a4e1c1b19731e6a202828b25b

Contents?: true

Size: 1.2 KB

Versions: 1

Compression:

Stored size: 1.2 KB

Contents

module Couch::Generators
  class ApplicationGenerator < Base
    argument :app_path, :type => :string

    def create_root
      self.destination_root = File.expand_path(app_path, destination_root)
 
      empty_directory '.'
      FileUtils.cd(destination_root) if File.directory?(destination_root)
    end

    def create_root_files
      template "couchrc", ".couchrc"
      copy_file "README"
      copy_file "gitignore", ".gitignore" unless options[:skip_git]
      template "_id.js"
      copy_file "validate_doc_update.js"
      empty_directory "lists"
      empty_directory "shows"
      empty_directory "updates"
      empty_directory "views"
    end

    def create_attachments_files
      empty_directory "_attachments"
      inside "_attachments" do
        empty_directory "images"
        empty_directory "javascripts"
        directory "stylesheets"
        template "index.html"
      end
    end

    def create_lib_files
      empty_directory "lib"
      inside "lib" do
       copy_file "mustache/mustache.js", "mustache.js"
      end
    end

    protected

    def app_name
      @app_name ||= File.basename(destination_root)
    end

    def app_title
      @app_title ||= app_name.humanize
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
couch-0.1.1 lib/couch/generators/application/application_generator.rb