class RailInspector::Configuring

Attributes

Public Class Methods

# File tools/rail_inspector/lib/rail_inspector/configuring.rb, line 51
def initialize(rails_path)
  @errors = []
  @files = Files.new(rails_path)

  @files[:application_configuration] = "railties/lib/rails/application/configuration.rb"
  @files[:doc_path] = "guides/source/configuring.md"
  @files[:rails_version] = "RAILS_VERSION"

  @files[:new_framework_defaults] = "railties/lib/rails/generators/rails/app/templates/config/initializers/new_framework_defaults_%{version}.rb.tt" % {
    version: rails_version.tr(".", "_")
  }
end

Public Instance Methods

# File tools/rail_inspector/lib/rail_inspector/configuring.rb, line 64
def check
  [
    Check::GeneralConfiguration.new(self),
    Check::FrameworkDefaults.new(
      self,
      framework_defaults_by_version,
      doc.versioned_defaults,
    ),
    Check::NewFrameworkDefaultsFile.new(
      self,
      framework_defaults_by_version[rails_version].keys,
      files.new_framework_defaults.read
    ),
  ].each(&:check)
end
# File tools/rail_inspector/lib/rail_inspector/configuring.rb, line 80
def doc
  @doc ||= Configuring::Document.parse(files.doc_path.read)
end
# File tools/rail_inspector/lib/rail_inspector/configuring.rb, line 92
def error_message
  return unless errors.any?

  errors.join("\n") + "\n" +
    "Make sure new configurations are added to configuring.md#rails-general-configuration in alphabetical order.\n" +
    "Errors may be autocorrectable with the --autocorrect flag"
end
# File tools/rail_inspector/lib/rail_inspector/configuring.rb, line 84
def rails_version
  @rails_version ||= files.rails_version.read.to_f.to_s
end
# File tools/rail_inspector/lib/rail_inspector/configuring.rb, line 88
def write!
  files.doc_path.write(doc.to_s)
end