Class: RailsFeatureFlip::Generators::InstallGenerator

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

Instance Method Summary collapse

Instance Method Details

#copy_initializer_fileObject



8
9
10
# File 'lib/generators/rails_feature_flip/install/install_generator.rb', line 8

def copy_initializer_file
  template 'initializer.rb', 'config/initializers/rails_feature_flip.rb'
end

#insert_feature_load_statementObject



22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/generators/rails_feature_flip/install/install_generator.rb', line 22

def insert_feature_load_statement
  application_rb = 'config/application.rb'
  content = File.read(application_rb)
  unless content.include?('require_relative \'features/all\'')
    insert_into_file application_rb, after: /^Bundler.require.*$/ do
      "\n\n        # Automatically load all feature configs - you can load the features manually one by one if you want to.\n        # Be sure to comment out require_relative 'features/all' when doing so.\n        # example:\n        #   require_relative 'features/foo'\n        #   require_relative 'feature/bar'\n        require_relative 'features/all'\n      RUBY\n    end\n  end\n\n  display_post_install_message\nend\n".strip_heredoc

#setup_default_loadingObject

Copy default loading file to autoload all features inside the features folder



18
19
20
# File 'lib/generators/rails_feature_flip/install/install_generator.rb', line 18

def setup_default_loading
  template 'all.rb', 'config/features/all.rb'
end

#setup_features_dirObject

Creates RAILS_ROOT/config/features folder unless it exists



13
14
15
# File 'lib/generators/rails_feature_flip/install/install_generator.rb', line 13

def setup_features_dir
  Dir.mkdir(Rails.root.join('config/feature')) unless Dir.exist?(Rails.root.join('config/feature'))
end