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_file ⇒ Object



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

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

#insert_feature_load_statement ⇒ Object



24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/generators/rails_feature_flip/install/install_generator.rb', line 24

def insert_feature_load_statement
  application_rb = 'config/application.rb'
  application_rb_path = File.join(destination_root, application_rb)
  return display_post_install_message unless File.exist?(application_rb_path)

  content = File.read(application_rb_path)
  unless content.include?("require_relative 'features/all'")
    insert_into_file application_rb, feature_load_snippet, after: /^Bundler.require.*$/
  end

  display_post_install_message
end

#setup_default_loading ⇒ Object

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



20
21
22
# File 'lib/generators/rails_feature_flip/install/install_generator.rb', line 20

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

#setup_features_dir ⇒ Object

Creates RAILS_ROOT/config/features folder unless it exists



15
16
17
# File 'lib/generators/rails_feature_flip/install/install_generator.rb', line 15

def setup_features_dir
  empty_directory 'config/features'
end