Class: Natural::InstallGenerator

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

Instance Method Summary collapse

Instance Method Details

#copy_application_policyObject



6
7
8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/generators/natural/install/install_generator.rb', line 6

def copy_application_policy
  template 'application_policy.rb', 'app/policies/application_policy.rb'
  helper_path = Rails.root.join('spec', 'rails_helper.rb')
  if File.exists?(helper_path)
    template('pundit.rb', 'spec/support/pundit.rb')
    helper_content = File.read(helper_path)
    support_file_loader = "Dir[Rails.root.join('spec/support/**/*.rb')].each { |f| require f }"
    unless helper_content.include?(support_file_loader)
      helper_content.gsub!("require 'rspec/rails'",
                           "require 'rspec/rails'\n#{support_file_loader}")
      File.open(helper_path, 'w') { |f| f.puts helper_content }
    end
  end
end