Class: Angular::Generators::InstallGenerator

Inherits:
Rails::Generators::Base
  • Object
show all
Includes:
ResourceHelpers
Defined in:
lib/generators/angular/install/install_generator.rb

Instance Method Summary collapse

Methods included from ResourceHelpers

#angular_path, #application_name, #js_app_name, #uncapitalize

Instance Method Details

#create_app_fileObject



41
42
43
44
45
46
47
# File 'lib/generators/angular/install/install_generator.rb', line 41

def create_app_file
  template "app.coffee", "app/assets/javascripts/angular/#{application_name.underscore}.coffee"
  create_file "app/assets/javascripts/angular/index.html"
  append_to_file "app/assets/javascripts/angular/#{application_name.underscore}.coffee" do
    "\n\n# Create Angular module\n#{application_name} = angular.module('#{application_name}', [])"
  end
end

#create_dir_layoutObject



29
30
31
32
33
34
35
36
37
38
39
# File 'lib/generators/angular/install/install_generator.rb', line 29

def create_dir_layout
  %W{controllers directives filters services}.each do |dir|
    empty_directory "app/assets/javascripts/angular/#{dir}"
    create_file "app/assets/javascripts/angular/#{dir}/.gitkeep" unless options[:skip_git]
    create_file "app/assets/javascripts/angular/#{dir}/#{application_name.underscore}-#{dir.singularize}.coffee"
  end
  %W{styles views}.each do |dir|
    empty_directory "app/assets/javascripts/angular/#{dir}"
    create_file "app/assets/javascripts/angular/#{dir}/.gitkeep" unless options[:skip_git]
  end
end

#inject_angularObject



15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/generators/angular/install/install_generator.rb', line 15

def inject_angular
  # for JavaScript application.js manifest:        
  if File.exists? "#{Rails.root}/app/assets/javascripts/application.js"
    append_to_file "app/assets/javascripts/application.js" do
      "//= require angular\n//= require angular/#{application_name.underscore}\n"
    end    
  # ...or for CoffeeScript application.js.coffee manifest:
  elsif File.exists? "#{Rails.root}/app/assets/javascripts/application.js.coffee"   
    append_to_file "app/assets/javascripts/application.js.coffee" do
      "\n#= require angular"
    end
  end
end