class Flipflop::InstallGenerator

Public Instance Methods

configure_dashboard() click to toggle source
# File lib/generators/flipflop/install/install_generator.rb, line 12
def configure_dashboard
  app = tmpl("-> { head :forbidden }")
  env_dev_test = tmpl("nil")

  environment(indent(app + "\n", 4).lstrip)
  environment(indent(env_dev_test + "\n", 2).lstrip, env: [:development, :test])
end
invoke_generators() click to toggle source
# File lib/generators/flipflop/install/install_generator.rb, line 6
def invoke_generators
  Flipflop::FeaturesGenerator.new([], options).invoke_all
  Flipflop::MigrationGenerator.new([], options).invoke_all
  Flipflop::RoutesGenerator.new([], options).invoke_all
end

Private Instance Methods

indent(content, multiplier = 2) click to toggle source
# File lib/generators/flipflop/install/install_generator.rb, line 30
def indent(content, multiplier = 2)
  # Don't fix indentation if Rails already does this (5.2+).
  return content if respond_to?(:optimize_indentation, true)

  spaces = " " * multiplier
  content.each_line.map {|line| line.blank? ? line : "#{spaces}#{line}" }.join
end
tmpl(access_filter) click to toggle source
# File lib/generators/flipflop/install/install_generator.rb, line 22
  def tmpl(access_filter)
    return <<-RUBY
# Before filter for Flipflop dashboard. Replace with a lambda or method name
# defined in ApplicationController to implement access control.
config.flipflop.dashboard_access_filter = #{access_filter}
RUBY
  end