Sha256: 94f6ab6fc762a5999f11f96fd650bb043250be86d4c540b71ce092d1e16e18d0

Contents?: true

Size: 1.5 KB

Versions: 1

Compression:

Stored size: 1.5 KB

Contents

# Namespace for all the classess
# @since 0.0.3
module BackboneGenerator

    # Abstract base class for generating
    # views A.K.A copying template
    # @author Tawheed Abdul-Raheem
    class ViewGenerator

        class << self
            def create_view view_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
                template_path = File.expand_path(File.dirname(__FILE__)) + "/template/View.tt"
                target_path = "/js/views/" + view_name.capitalize + ".View.js"
                view_hash = {
                    :app_name  => app_name.slice(0,1).capitalize + app_name.slice(1..-1),
                    :view_name => view_name.slice(0,1).capitalize + view_name.slice(1..-1),
                }
                if File.exist? dir_path + target_path
                    print "error ".red
                    puts "View with the name specified already exists"
                else
                    BackboneGenerator.compile_and_copy(template_path, dir_path + target_path, view_hash)
                    print "created ".green
                    puts  view_hash[:app_name] + target_path
                    BackboneGenerator::TemplateGenerator.create_template(view_name)
                end
            end
        end
    end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
backbone_generator-0.0.4 lib/backbone_generator/generators/views/views_generator.rb