Class: BackboneGenerator::CollectionGenerator

Inherits:
Object
  • Object
show all
Defined in:
lib/backbone_generator/generators/collections/collections_generator.rb

Overview

Abstract base class for generating collection A.K.A copying template

Author:

  • Tawheed Abdul-Raheem

Since:

  • 0.0.3

Class Method Summary collapse

Class Method Details

.create_collection(collection_name) ⇒ Object

Since:

  • 0.0.3



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/backbone_generator/generators/collections/collections_generator.rb', line 11

def create_collection collection_name
    app_name  = BackboneGenerator.option_details[:app_name] || File.basename(Dir.getwd).chomp("/")
    if BackboneGenerator.option_details[:app_name]
        dir_path = File.join(Dir.getwd, app_name)
    else
        dir_path = File.join(Dir.getwd)
    end
    collection_hash = {
        :app_name  => app_name.slice(0,1).capitalize + app_name.slice(1..-1),
        :collection_name => collection_name.slice(0,1).capitalize + collection_name.slice(1..-1),
    }
    template_path = File.expand_path(File.dirname(__FILE__)) + "/template/Collection.tt"
    target_path = "/js/collections/" + collection_hash[:collection_name] + ".Collection.js"
    if File.exist? dir_path + target_path
        print "error ".red
        puts "Collection with the name specified already exists"
    else
        BackboneGenerator.compile_and_copy(template_path, dir_path + target_path, collection_hash)
        print "created ".green
        puts  collection_hash[:app_name] + target_path
    end
end