Class: Abstractio::Generators::InstallGenerator

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

Instance Method Summary collapse

Instance Method Details

#add_assetsObject



12
13
14
15
16
17
18
19
20
21
# File 'lib/abstractio/generators/install_generator.rb', line 12

def add_assets
  # rails_ujs breaks, need to incorporate rails-behavior plugin for this to work seamlessly
  # gsub_file "app/assets/javascripts/application#{detect_js_format[0]}", /\/\/= require jquery\n/, ""
  insert_into_file "app/assets/javascripts/application#{detect_js_format[0]}", "#{detect_js_format[1]} require abstractio\n", :after => "jquery_ujs\n"
  append_to_file "app/assets/javascripts/application#{detect_js_format[0]}", "\n$(function(){ $(document).abstractio(); });\n"
  settings_file = File.join(File.dirname(__FILE__),"..","..","..","scss","abstractio","_variables.scss")
  create_file "app/assets/stylesheets/abstractio_and_overrides.scss", File.read(settings_file)
  append_to_file "app/assets/stylesheets/abstractio_and_overrides.scss", "\n@import 'abstractio';\n"
  insert_into_file "app/assets/stylesheets/application#{detect_css_format[0]}", "#{detect_css_format[1]} require abstractio_and_overrides\n", :after => "require_self\n"
end

#create_layoutObject



37
38
39
40
41
42
43
44
45
# File 'lib/abstractio/generators/install_generator.rb', line 37

def create_layout
  if options.haml?||(defined?(Haml) && !options.slim?)
    template 'application.html.haml', "app/views/layouts/#{file_name}.html.haml"
  elsif options.slim?||(defined?(Slim) && !options.haml?)
    template 'application.html.slim', "app/views/layouts/#{file_name}.html.slim"
  else
    template 'application.html.erb', "app/views/layouts/#{file_name}.html.erb"
  end
end

#detect_css_formatObject



29
30
31
32
33
34
35
# File 'lib/abstractio/generators/install_generator.rb', line 29

def detect_css_format
  return ['.css', ' *='] if File.exist?('app/assets/stylesheets/application.css')
  return ['.css.sass', ' //='] if File.exist?('app/assets/stylesheets/application.css.sass')
  return ['.sass', ' //='] if File.exist?('app/assets/stylesheets/application.sass')
  return ['.css.scss', ' //='] if File.exist?('app/assets/stylesheets/application.css.scss')
  return ['.scss', ' //='] if File.exist?('app/assets/stylesheets/application.scss')
end

#detect_js_formatObject



23
24
25
26
27
# File 'lib/abstractio/generators/install_generator.rb', line 23

def detect_js_format
  return ['.coffee', '#='] if File.exist?('app/assets/javascripts/application.coffee')
  return ['.js.coffee', '#='] if File.exist?('app/assets/javascripts/application.js.coffee')
  return ['.js', '//='] if File.exist?('app/assets/javascripts/application.js')
end