Class: AngularVelocity::Generators::InstallGenerator

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

Instance Method Summary collapse

Methods included from AngularConfig

#angular_path, #angular_spec_path, #application_name

Instance Method Details

#create_angular_applicationObject



11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/generators/angular_velocity/install/install_generator.rb', line 11

def create_angular_application
  template "app.coffee", "#{angular_path}/app.coffee"
  %W{controllers services models views}.each do |dir|
    empty_directory "#{angular_path}/#{dir}" 
  end
  %W{angular angular-cookies angular-mocks angular-resource angular-sanitize angular-scenario}.each do |file|
    copy_file "#{file}.js", "#{angular_path}/#{file}.js"
  end
  insert_into_file "app/assets/javascripts/application.js", :after =>"//= require jquery_ujs" do
   "\n//= require ./#{application_name}/angular.js"
  end
end


52
53
54
55
56
57
# File 'lib/generators/angular_velocity/install/install_generator.rb', line 52

def create_angular_jasmine_link
  template "jasmine.yml", "spec/javascripts/support/jasmine.yml"
  insert_into_file "config/routes.rb", :after => "Application.routes.draw do" do
    "\n" + %{  mount JasmineRails::Engine => "/specs" unless Rails.env.production?}
  end
end

#create_angular_velocity_initializerObject



59
60
61
# File 'lib/generators/angular_velocity/install/install_generator.rb', line 59

def create_angular_velocity_initializer
  copy_file  "angular_velocity.rb", "config/initializers/angular_velocity.rb"
end

#create_main_angular_controllerObject



24
25
26
27
28
# File 'lib/generators/angular_velocity/install/install_generator.rb', line 24

def create_main_angular_controller
  template "main_controller.coffee", "#{angular_path}/controllers/main_controller.coffee"
  copy_file("main_control.html", "#{angular_path}/views/main_control.html")
  template "main_controller_spec.coffee", "#{angular_spec_path}/controllers/main_controller_spec.coffee"
end

#create_main_angular_serviceObject



30
31
32
# File 'lib/generators/angular_velocity/install/install_generator.rb', line 30

def create_main_angular_service
  template "main_angular_service.coffee", "#{angular_path}/services/#{application_name}_service.coffee"
end

#create_main_rails_controllerObject



34
35
36
37
38
39
40
41
42
# File 'lib/generators/angular_velocity/install/install_generator.rb', line 34

def create_main_rails_controller
  empty_directory "app/views/main" 
  template "index.html.erb", "app/views/main/index.html.erb"
  copy_file  "AppLoader.js", "#{angular_path}/#{application_name}Loader.js"
  copy_file "main_controller.rb", "app/controllers/main_controller.rb"
  insert_into_file "config/routes.rb", :after => "Application.routes.draw do" do
    "\n" + %{  get "main/index"\n  root to: "main#index"\n}
  end
end

#create_templates_serving_rails_controllerObject



44
45
46
47
48
49
50
# File 'lib/generators/angular_velocity/install/install_generator.rb', line 44

def create_templates_serving_rails_controller
  #http://stackoverflow.com/questions/12116476/rails-static-html-template-files-in-the-asset-pipeline-and-caching-in-developmen
  template "templates_controller.rb", "app/controllers/templates_controller.rb"
  insert_into_file "config/routes.rb", :after => "Application.routes.draw do" do
    "\n" + %{  get "/templates/:path.html" => "templates#file", :constraints => { :path => /.+/  }}
  end
end