Class: Foundation::Generators::InstallGenerator

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

Instance Method Summary collapse

Instance Method Details

#add_assetsObject



12
13
14
15
16
17
18
19
20
21
# File 'lib/generators/foundation/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 File.join(javascripts_base_dir, "application#{detect_js_format[0]}"), "#{detect_js_format[1]} require foundation\n", :after => "jquery_ujs\n"
  append_to_file File.join(javascripts_base_dir, "application#{detect_js_format[0]}"), "#{detect_js_format[2]}"
  settings_file = File.join(File.dirname(__FILE__),"..", "..", "..", "vendor", "assets", "stylesheets", "foundation", "_settings.scss")
  create_file File.join(stylesheets_base_dir, 'foundation_and_overrides.scss'), File.read(settings_file)
  append_to_file File.join(stylesheets_base_dir, 'foundation_and_overrides.scss'), "\n@import 'foundation';\n"
  insert_into_file File.join(stylesheets_base_dir, "application#{detect_css_format[0]}"), "\n#{detect_css_format[1]} require foundation_and_overrides\n", :after => "require_self"
end

#create_layoutObject



40
41
42
43
44
45
46
47
48
# File 'lib/generators/foundation/install_generator.rb', line 40

def create_layout
  if options.haml?||(defined?(Haml) && options.haml?)
    template 'application.html.haml', File.join(layouts_base_dir, "#{file_name}.html.haml")
  elsif options.slim?||(defined?(Slim) && options.slim?)
    template 'application.html.slim', File.join(layouts_base_dir, "#{file_name}.html.slim")
  else
    template 'application.html.erb', File.join(layouts_base_dir, "#{file_name}.html.erb")
  end
end

#detect_css_formatObject



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

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

#detect_js_formatObject



23
24
25
26
27
28
29
30
# File 'lib/generators/foundation/install_generator.rb', line 23

def detect_js_format
  return ['.coffee', '#=', "\n() ->\n  $(document).foundation()\n"] if File.exist?(File.join(javascripts_base_dir, 'application.coffee'))
  return ['.coffee.erb', '#=', "\n() ->\n  $(document).foundation()\n"] if File.exist?(File.join(javascripts_base_dir, 'application.coffee.erb'))
  return ['.js.coffee', '#=', "\n() ->\n  $(document).foundation()\n"] if File.exist?(File.join(javascripts_base_dir, 'application.js.coffee'))
  return ['.js.coffee.erb', '#=', "\n() ->\n  $(document).foundation()\n"] if File.exist?(File.join(javascripts_base_dir, 'application.js.coffee.erb'))
  return ['.js', '//=', "\n$(function(){ $(document).foundation(); });\n"] if File.exist?(File.join(javascripts_base_dir, 'application.js'))
  return ['.js.erb', '//=', "\n$(function(){ $(document).foundation(); });\n"] if File.exist?(File.join(javascripts_base_dir, 'application.js.erb'))
end