class AngularScaffold::InstallGenerator

Attributes

app_name[R]

Public Instance Methods

install_gems() click to toggle source
# File lib/generators/angular_scaffold/install/install_generator.rb, line 7
  def install_gems

       @app_name = Rails.application.class.parent_name

       if(File.exist?('bower.json'))
               remove_file 'bower.json'
       end

       append_to_file 'Gemfile',"\n\ngem 'bower-rails', '~> 0.10.0'"
       run "bundle install"
       run "rails g bower_rails:initialize json"

       if(File.exist?('bower.json'))
               remove_file 'bower.json'
       end
       copy_file 'bower.json','bower.json'
       run 'rake bower:install'

       empty_directory "app/assets/javascripts/angular-app"
       empty_directory "app/assets/javascripts/angular-app/controller"
       empty_directory "app/assets/javascripts/angular-app/directive"
       empty_directory "app/assets/javascripts/angular-app/filter"
       empty_directory "app/assets/javascripts/angular-app/service"
       empty_directory "app/assets/templates"

       if File.exist?("app/assets/javascripts/application.js")
               remove_file 'app/assets/javascripts/application.js'
       end

       copy_file "myangular/application.js", "app/assets/javascripts/application.js"

       if File.exist?("app/assets/javascripts/angular-app/app.js")
               remove_file 'app/assets/javascripts/angular-app/app.js'
       end

       copy_file "myangular/app.js", "app/assets/javascripts/angular-app/app.js.erb"
       copy_file "myangular/welcome_controller.js", "app/assets/javascripts/angular-app/controller/welcome_controller.js"

       insert_into_file "app/assets/javascripts/angular-app/app.js.erb", @app_name, before: 'Client'
       insert_into_file "app/assets/javascripts/angular-app/controller/welcome_controller.js", @app_name, before: 'Client'

       remove_file "public/index.html"
uncomment_lines 'config/routes.rb', /root 'welcome#index'/
run "rails g controller welcome index"


copy_file "AngularJS-medium.png", "app/assets/images/AngularJS-medium.png"
copy_file 'favicon.ico', "app/assets/images/favicon.ico"
empty_directory "app/assets/templates"
empty_directory "app/assets/templates/welcome"


copy_file "index_welcome.html.erb", "app/assets/templates/welcome/index.html.erb"

template "myangular/application.html.erb", "app/views/layouts/application.html.erb"

directory "fonts", "app/assets/fonts/"
directory "fontawesome", "app/assets/stylesheets/fontawesome/"
directory "bootstrap/css", "app/assets/stylesheets/bootstrap/"
directory "bootstrap/js", "app/assets/javascripts/bootstrap/"

    @application_css_file ='app/assets/stylesheets/application.css'
    if (!(File.exist?('app/assets/stylesheets/application.css')) &&
        File.exist?('app/assets/stylesheets/application.css.scss'))
        @application_css_file ='app/assets/stylesheets/application.css.scss'
    elsif !File.exist?('app/assets/stylesheets/application.css')
        create_file @application_css_file
    end

    insert_into_file @application_css_file," *= require bootstrap/bootstrap.min.css\n", :after => "require_self\n"
    insert_into_file @application_css_file," *= require bootstrap/bootstrap-responsive.min.css\n",:after => "bootstrap.min.css\n"
    insert_into_file @application_css_file," *= require fontawesome/font-awesome.css\n",:after => "bootstrap-responsive.min.css\n"
    insert_into_file @application_css_file," *= require bootstrap/bootstrap-theme.min.css\n",:after => "font-awesome.css\n"

    insert_into_file "app/assets/javascripts/application.js","//= require_tree ./bootstrap/\n", before: "//= require_tree ."
  end