Sha256: 9d78fe47538f1506de3c44fc24a4fead03f4b7fc4142cf7f600ab825a9aed904

Contents?: true

Size: 1.07 KB

Versions: 1

Compression:

Stored size: 1.07 KB

Contents

module Calagator
  class InstallGenerator < Rails::Generators::Base
    source_root File.expand_path('../templates', __FILE__)

    def install
      add_route
      add_secrets
      add_initializer
      add_javascripts
      add_stylesheets
      rake 'calagator:install:migrations'
      rake 'db:migrate'
      rake 'db:test:prepare'
      run 'rm -f public/index.html'
    end

    private

    def add_route
      inject_into_file 'config/routes.rb', "\s\smount Calagator::Engine => '/'\n", after: "Application.routes.draw do\n"
    end

    def add_secrets
      copy_file File.expand_path(File.join(__FILE__, '../templates/config/secrets.yml.sample')), 'config/secrets.yml'
    end

    def add_initializer
      copy_file File.expand_path(File.join(__FILE__, '../templates/config/calagator.rb')), 'config/initializers/calagator.rb'
    end

    def add_javascripts
      append_file 'app/assets/javascripts/application.js', '//= require calagator'
    end

    def add_stylesheets
      append_file 'app/assets/stylesheets/application.css', '//= require calagator'
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
calagator-0.0.1.pre1 lib/generators/calagator/install_generator.rb