Class: Lentil::Generators::InstallGenerator

Inherits:
Rails::Generators::Base
  • Object
show all
Defined in:
lib/generators/lentil/install_generator.rb

Instance Method Summary collapse

Instance Method Details

#add_javascriptObject



100
101
102
103
# File 'lib/generators/lentil/install_generator.rb', line 100

def add_javascript
  gsub_file('app/assets/javascripts/application.js', '//= require_tree .',
           '//= require lentil')
end

#add_stylesObject



94
95
96
97
# File 'lib/generators/lentil/install_generator.rb', line 94

def add_styles
  remove_file 'app/assets/stylesheets/application.css'
  create_file 'app/assets/stylesheets/application.css.scss', %Q|@import "lentil";\n|
end

#configuration_messagesObject



122
123
124
125
# File 'lib/generators/lentil/install_generator.rb', line 122

def configuration_messages
  file = File.read(File.join( File.expand_path('../templates', __FILE__), 'README.md'))
  say file, :green
end


106
107
108
109
# File 'lib/generators/lentil/install_generator.rb', line 106

def disable_turbolinks
  gsub_file "app/assets/javascripts/application.js", "//= require turbolinks", ""
  gsub_file "Gemfile", /^.*turbolinks.*$/, ""
end

#dummy_admin_userObject



112
113
114
115
116
117
118
119
# File 'lib/generators/lentil/install_generator.rb', line 112

def dummy_admin_user
  if yes?("Do you want to create an admin user in development now?")
    rake "lentil:dummy_admin_user"
    say "Username: [email protected], Password: password", :green
  else
    say "See the README.md for how to create an admin user.", :red
  end
end

#enable_raise_trans_cbObject



29
30
31
# File 'lib/generators/lentil/install_generator.rb', line 29

def enable_raise_trans_cb
  insert_into_file "config/application.rb", "    config.active_record.raise_in_transactional_callbacks = true", :after => "# Inserted by lentil\n"
end

#insert_routesObject



71
72
73
74
75
76
77
78
79
80
81
# File 'lib/generators/lentil/install_generator.rb', line 71

def insert_routes
  routes = <<-ROUTES

  root :to => 'lentil/images#index'
  devise_for :admin_users, ActiveAdmin::Devise.config.merge(:class_name => 'Lentil::AdminUser')
  ActiveAdmin.routes(self)
  mount Lentil::Engine => "/"

ROUTES
  insert_into_file "config/routes.rb", routes, :after => "Rails.application.routes.draw do\n"
end

#install_active_adminObject



66
67
68
# File 'lib/generators/lentil/install_generator.rb', line 66

def install_active_admin
  copy_file 'active_admin.rb', 'config/initializers/active_admin.rb'
end

#install_devise_filesObject



61
62
63
# File 'lib/generators/lentil/install_generator.rb', line 61

def install_devise_files
  generate 'devise:install'
end

#install_migrationsObject



49
50
51
52
# File 'lib/generators/lentil/install_generator.rb', line 49

def install_migrations
  rake "lentil:install:migrations"
  rake "db:migrate"
end

#kaminari_initializerObject



89
90
91
# File 'lib/generators/lentil/install_generator.rb', line 89

def kaminari_initializer
  copy_file 'kaminari.rb', 'config/initializers/kaminari.rb'
end

#lentil_config_commentsObject



12
13
14
# File 'lib/generators/lentil/install_generator.rb', line 12

def lentil_config_comments
  insert_into_file "config/application.rb", "\n    # Inserted by lentil\n    # End of lentil changes\n\n", :after => "class Application < Rails::Application\n"
end

#lentil_config_ymlObject



84
85
86
# File 'lib/generators/lentil/install_generator.rb', line 84

def lentil_config_yml
  copy_file 'lentil_config.yml', 'config/lentil_config.yml'
end

#lentil_remove_gemsObject



22
23
24
25
26
# File 'lib/generators/lentil/install_generator.rb', line 22

def lentil_remove_gems
  gsub_file "Gemfile", /^.*rails-perftest.*$/, ""
  gsub_file "Gemfile", /^.*ruby-prof.*$/, ""
  gsub_file "Gemfile", /^.*ruby-prof.*$/, ""
end

#load_seedsObject



55
56
57
58
# File 'lib/generators/lentil/install_generator.rb', line 55

def load_seeds
  append_to_file 'db/seeds.rb', "\nLentil::Engine.load_seed\n"
  rake "db:seed"
end

#precompile_assetsObject



39
40
41
# File 'lib/generators/lentil/install_generator.rb', line 39

def precompile_assets
  append_to_file "config/initializers/assets.rb", "Rails.application.config.assets.precompile += %w( *.js ^[^_]*.css *.css.erb lentil/iframe.js lentil/iframe.css addanimatedimages.js )\n"
end

#randomize_testsObject



34
35
36
# File 'lib/generators/lentil/install_generator.rb', line 34

def randomize_tests
  insert_into_file "config/environments/test.rb", "    config.active_support.test_order = :random", :before => "end"
end

#remove_public_indexObject



7
8
9
# File 'lib/generators/lentil/install_generator.rb', line 7

def remove_public_index
  remove_file('public/index.html')
end

#remove_test_performance_browsing_testObject



17
18
19
# File 'lib/generators/lentil/install_generator.rb', line 17

def remove_test_performance_browsing_test
  remove_file("test/performance/browsing_test.rb")
end

#set_enforce_available_localesObject



44
45
46
# File 'lib/generators/lentil/install_generator.rb', line 44

def set_enforce_available_locales
  insert_into_file "config/application.rb", "    I18n.enforce_available_locales = true\n", :after => "# Inserted by lentil\n"
end