class RailsAssistant::Generators::InstallGenerator

Public Instance Methods

add_assets() click to toggle source
# File lib/rails/generators/rails_assistant/install_generator.rb, line 7
def add_assets
    format = detect_layout_format         
  insert_into_file "app/views/layouts/application#{format}", code_for_format(format), :after => csrf(format)              
end

Private Instance Methods

code_for_format(format) click to toggle source
# File lib/rails/generators/rails_assistant/install_generator.rb, line 20
def code_for_format(format)
    if format == ".html.erb"
            "  <% if ENV['com.nocturnalcode.RailsAssistant'].present? %>\n    <%= javascript_include_tag 'rails_assistant/rails_assistant' %>\n    <%= stylesheet_link_tag 'rails_assistant/rails_assistant' %>\n  <% end %>\n"
    elsif format == ".html.haml"
            "  - if ENV['com.nocturnalcode.RailsAssistant'].present?\n    = javascript_include_tag 'rails_assistant/rails_assistant'\n    = stylesheet_link_tag 'rails_assistant/rails_assistant'\n  - end\n"
      elsif format == ".html.slim"
            "  - if ENV['com.nocturnalcode.RailsAssistant'].present?\n    = javascript_include_tag 'rails_assistant/rails_assistant'\n    = stylesheet_link_tag 'rails_assistant/rails_assistant'\n  - end\n"
      else
              ""
      end
end
csrf(format) click to toggle source
# File lib/rails/generators/rails_assistant/install_generator.rb, line 32
def csrf(format)
    if format == ".html.erb"
            "<%= csrf_meta_tags %>\n"
    elsif format == ".html.haml"
            "= csrf_meta_tags\n"
      elsif format == ".html.slim"
            "= csrf_meta_tags\n"
      else
              ""
      end
end
detect_layout_format() click to toggle source
# File lib/rails/generators/rails_assistant/install_generator.rb, line 14
def detect_layout_format
  return '.html.erb' if File.exist?('app/views/layouts/application.html.erb')
  return '.html.haml' if File.exist?('app/views/layouts/application.html.haml')
  return '.html.slim' if File.exist?('app/views/layouts/application.html.slim')
end