class Fae::InstallGenerator

Public Instance Methods

install() click to toggle source
# File lib/generators/fae/install_generator.rb, line 7
def install
  run 'bundle install'
  add_route
  # copy templates and generators
  copy_file ::File.expand_path(::File.join(__FILE__, "../templates/tasks/fae_tasks.rake")), "lib/tasks/fae_tasks.rake"
  add_fae_assets
  add_navigation_concern
  add_authorization_concern
  build_initializer
  build_judge_initializer
  rake 'fae:install:migrations'
  rake 'db:migrate'
  rake 'fae:seed_db'
end

Private Instance Methods

add_authorization_concern() click to toggle source
# File lib/generators/fae/install_generator.rb, line 43
def add_authorization_concern
  copy_file ::File.expand_path(::File.join(__FILE__, '../templates/models/concerns/authorization_concern.rb')), 'app/models/concerns/fae/authorization_concern.rb'
end
add_fae_assets() click to toggle source
# File lib/generators/fae/install_generator.rb, line 34
def add_fae_assets
  copy_file ::File.expand_path(::File.join(__FILE__, '../templates/assets/fae.scss')), 'app/assets/stylesheets/fae.scss'
  copy_file ::File.expand_path(::File.join(__FILE__, '../templates/assets/fae.js')), 'app/assets/javascripts/fae.js'
end
add_navigation_concern() click to toggle source
# File lib/generators/fae/install_generator.rb, line 39
def add_navigation_concern
  copy_file ::File.expand_path(::File.join(__FILE__, '../templates/models/concerns/navigation_concern.rb')), 'app/models/concerns/fae/navigation_concern.rb'
end
add_route() click to toggle source
# File lib/generators/fae/install_generator.rb, line 24
    def add_route
      inject_into_file "config/routes.rb", after: "routes.draw do\n" do <<-RUBY
\n  namespace :#{options.namespace} do
  end
  # mount Fae below your admin namespec
  mount Fae::Engine => '/#{options.namespace}'\n
RUBY
      end
    end
build_initializer() click to toggle source
# File lib/generators/fae/install_generator.rb, line 47
    def build_initializer
      init_source = options.fine ? "../templates/initializers/fae_fine.rb" : "../templates/initializers/fae.rb"
      copy_file ::File.expand_path(::File.join(__FILE__, init_source)), "config/initializers/fae.rb"
      inject_into_file "config/initializers/fae.rb", after: "Fae.setup do |config|\n" do <<-RUBY
\n  config.devise_secret_key = '#{SecureRandom.hex(64)}'\n
RUBY
      end
    end
build_judge_initializer() click to toggle source
# File lib/generators/fae/install_generator.rb, line 56
def build_judge_initializer
  copy_file ::File.expand_path(::File.join(__FILE__, "../templates/initializers/judge.rb")), "config/initializers/judge.rb"
end