Class: Spina::InstallGenerator

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

Instance Method Summary collapse

Instance Method Details

#add_routeObject



42
43
44
# File 'lib/generators/spina/install_generator.rb', line 42

def add_route
  route "mount Spina::Engine => '/'"
end

#bootstrap_spinaObject



38
39
40
# File 'lib/generators/spina/install_generator.rb', line 38

def bootstrap_spina
  rake "spina:bootstrap"
end

#copy_migrationsObject



13
14
15
# File 'lib/generators/spina/install_generator.rb', line 13

def copy_migrations
  rake "spina:install:migrations"
end

#copy_viewsObject



21
22
23
24
25
# File 'lib/generators/spina/install_generator.rb', line 21

def copy_views
  template "application.html.erb", "app/views/layouts/default/application.html.erb"
  template "homepage.html.erb", "app/views/default/pages/homepage.html.erb"
  template "show.html.erb", "app/views/default/pages/show.html.erb"
end

#create_accountObject



27
28
29
30
# File 'lib/generators/spina/install_generator.rb', line 27

def 
  name = ask("What would you like to name your website?")
  Account.create name: name, theme: 'default'
end

#create_initializer_fileObject



5
6
7
# File 'lib/generators/spina/install_generator.rb', line 5

def create_initializer_file
  template "spina.rb", "config/initializers/spina.rb"
end

#create_theme_initializerObject



9
10
11
# File 'lib/generators/spina/install_generator.rb', line 9

def create_theme_initializer
  template "theme.rb", "config/initializers/themes/default.rb"
end

#create_userObject



32
33
34
35
36
# File 'lib/generators/spina/install_generator.rb', line 32

def create_user
  email = ask("Please enter an email address for your first user:")
  password = ask("Create a temporary password:")
  User.create name: 'admin', email: email, password: password, admin: true
end

#run_migrationsObject



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

def run_migrations
  rake "db:migrate"
end