Class: RailsClientLoggerGenerator

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

Instance Method Summary collapse

Instance Method Details

#generateObject



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/generators/rails_client_logger/rails_client_logger_generator.rb', line 5

def generate
  # add route
  route(%Q{mount RailsClientLogger::Engine, :at => "logger"})

  mode = :coffee
  if File.exists? "app/assets/javascripts/application.js.coffee"
    path = "app/assets/javascripts/application.js.coffee"
  elsif File.exists? "app/assets/javascripts/application.coffee"
    path = "app/assets/javascripts/application.coffee"
  elsif File.exists? "app/assets/javascripts/application.js"
    mode = :js
    path = "app/assets/javascripts/application.js"
  end

  # add to application.js manifest
  original = File.binread(path)
  if original.include?("require rails_client_logger")
     say_status("skipped", "insert into #{path}", :yellow)
  else
    if mode == :coffee
      insert_into_file path, :after => %r{#= require ['"]?jquery['"]?\s*$} do
        "\n#= require rails_client_logger"
      end
    else
      insert_into_file path, :after => %r{//= require ['"]?jquery['"]?\s*$} do
        "\n//= require rails_client_logger"
      end
    end
  end
end