Sha256: 4e353474b8d9f4a2bfeee0fef652500bf24cb99523e865cff56fb4026c564279

Contents?: true

Size: 1.18 KB

Versions: 1

Compression:

Stored size: 1.18 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"
      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.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.2.0 lib/couch/generators/application/application_generator.rb