Class: RailsApiGuard::Generators::InstallGenerator

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

Instance Method Summary collapse

Instance Method Details

#add_middleware ⇒ Object



14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/rails_api_guard/generators/install/install_generator.rb', line 14

def add_middleware
  application_file = 'config/application.rb'
  middleware_pattern = /config\.middleware\.use RailsApiGuard::Middleware::RateLimiter/
  middleware_line = "\t\t# Added by RailsApiGuard gem to apply API rate limiting middleware\n"
  middleware_line += "\t\tconfig.middleware.use RailsApiGuard::Middleware::RateLimiter\n"

  if File.readlines(application_file).grep(/config\.middleware\.use RailsApiGuard::Middleware::RateLimiter/).any?
    say_status :skipped, "Middleware already added to #{application_file}", :yellow
  else
    insert_into_file application_file, "\n\n#{middleware_line}", after: "class Application < Rails::Application"
    say_status :added, "Middleware added to #{application_file}", :green
  end
end

#copy_initializer ⇒ Object



10
11
12
# File 'lib/rails_api_guard/generators/install/install_generator.rb', line 10

def copy_initializer
  template "rails_api_guard_initializer.rb", "config/initializers/rails_api_guard.rb"
end