Class: ShinyThemes::Generators::ThemeGenerator
- Inherits:
-
Rails::Generators::NamedBase
- Object
- Rails::Generators::NamedBase
- ShinyThemes::Generators::ThemeGenerator
- Defined in:
- lib/generators/shiny_themes/theme_generator.rb
Instance Method Summary collapse
- #create_css_files ⇒ Object
- #create_js_files ⇒ Object
- #create_layout_file ⇒ Object
- #create_sass_files ⇒ Object
- #create_theme_directories ⇒ Object
-
#initialize(args, *options) ⇒ ThemeGenerator
constructor
A new instance of ThemeGenerator.
Constructor Details
#initialize(args, *options) ⇒ ThemeGenerator
Returns a new instance of ThemeGenerator.
12 13 14 15 16 17 |
# File 'lib/generators/shiny_themes/theme_generator.rb', line 12 def initialize(args, *) super @theme_directory = Pathname(Rails.application.config.theme.path).join(name) @views_directory = @theme_directory.join('views') @assets_directory = @theme_directory.join('assets') end |
Instance Method Details
#create_css_files ⇒ Object
35 36 37 38 |
# File 'lib/generators/shiny_themes/theme_generator.rb', line 35 def create_css_files return if [:sass] copy_file 'manifest.css', "#{@assets_directory.join('stylesheets', name, 'manifest.css')}" end |
#create_js_files ⇒ Object
31 32 33 |
# File 'lib/generators/shiny_themes/theme_generator.rb', line 31 def create_js_files copy_file 'manifest.js', "#{@assets_directory.join('javascripts', name, 'manifest.js')}" end |
#create_layout_file ⇒ Object
45 46 47 |
# File 'lib/generators/shiny_themes/theme_generator.rb', line 45 def create_layout_file copy_file 'application.html.erb', "#{@views_directory.join('layouts', "#{[:layout]}.html.erb")}" end |
#create_sass_files ⇒ Object
40 41 42 43 |
# File 'lib/generators/shiny_themes/theme_generator.rb', line 40 def create_sass_files return unless [:sass] copy_file 'manifest.scss', "#{@assets_directory.join('stylesheets', name, 'manifest.scss')}" end |
#create_theme_directories ⇒ Object
19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/generators/shiny_themes/theme_generator.rb', line 19 def create_theme_directories # Create views directories empty_directory @views_directory.join('layouts') # Create Assets directories empty_directory @assets_directory.join('images', name) create_file @assets_directory.join('images', name, '.gitkeep'), nil empty_directory @assets_directory.join('javascripts', name) create_file @assets_directory.join('javascripts', name, '.gitkeep'), nil empty_directory @assets_directory.join('stylesheets', name) create_file @assets_directory.join('stylesheets', name, '.gitkeep'), nil end |