Class: Roots::Generators::InstallGenerator

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

Instance Method Summary collapse

Instance Method Details

#add_gemsObject



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

def add_gems
  append_to_file "Gemfile", "\ngem 'slim'"
  append_to_file "Gemfile", "\ngem 'stylus', group: :assets"
  run 'bundle'
end

#add_stylus_initializerObject



40
41
42
43
# File 'lib/generators/roots/install_generator.rb', line 40

def add_stylus_initializer
  create_file 'config/initializers/roots.rb'
  append_file 'config/initializers/roots.rb', "Stylus.use 'roots-css'"
end

#install_dependenciesObject



18
19
20
21
22
23
24
25
# File 'lib/generators/roots/install_generator.rb', line 18

def install_dependencies
  empty_directory 'public/js'
  empty_directory 'public/img'
  copy_file "pie.htc", "public/js/pie.htc"
  remove_file "public/favicon.ico"
  copy_file "favicon.ico", "public/favicon.ico"
  copy_file "noise.png", "public/img/noise.png"
end

#install_roots_css_libraryObject

note: it’s possible to stream from the npm registry with ruby and eliminate this dependency on node (github.com/railsjedi/ruby-stylus-source/blob/master/Rakefile#L23)



35
36
37
38
# File 'lib/generators/roots/install_generator.rb', line 35

def install_roots_css_library
  empty_directory 'node_modules'
  run 'npm install roots-css'
end

#remove_defaults_and_completeObject



45
46
47
48
# File 'lib/generators/roots/install_generator.rb', line 45

def remove_defaults_and_complete
  remove_file "app/assets/rails.png"
  say "\nComplete! Make sure to visit these two files to configure things: \n  - app/views/layouts/config.html.slim\n  - app/assets/stylesheets/application.css.styl\n\n", "\e[32m"
end

#replace_application_cssObject



12
13
14
15
16
# File 'lib/generators/roots/install_generator.rb', line 12

def replace_application_css
  remove_file "app/assets/stylesheets/application.css"
  copy_file "layouts/application.css.styl", "app/assets/stylesheets/application.css.styl"
  copy_file "layouts/_settings.styl", "app/assets/stylesheets/_settings.styl"
end

#replace_layoutObject



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

def replace_layout
  remove_file "app/views/layouts/application.html.erb"
  copy_file "layouts/layout.html.slim", "app/views/layouts/application.html.slim"
end