class Semverve::RailsConfigMetadata
Finds and updates Rails-native config version literals.
Constants
- DEFAULT_FILE_PATTERNS
-
Default Rails config file patterns that can expose an app version.
@return [Array<String>]
- VERSION_PATTERN
-
Rails config version assignments that are safe to rewrite.
@return [Regexp]
Public Class Methods
# File lib/semverve/rails_config_metadata.rb, line 39 def initialize(configuration, current_version) @configuration = configuration @current_version = current_version end
Initializes Rails config metadata scanning.
@param [Semverve::ResolvedConfiguration] configuration @param [Semverve::SemanticVersion] current_version
@return [Semverve::RailsConfigMetadata]
Public Instance Methods
Source
# File lib/semverve/rails_config_metadata.rb, line 48 def findings files.flat_map { |path| findings_for_file(path) } end
Rails config metadata findings.
@return [Array<Semverve::Finding>]
Source
# File lib/semverve/rails_config_metadata.rb, line 56 def fix changed_files = [] replacement_count = 0 files.each do |path| content = File.read(path) fixed, count = fixed_content(content) next if count.zero? File.write(path, fixed) changed_files << relative_path(path) replacement_count += count end Semverve::FixResult.new(changed_files: changed_files, replacement_count: replacement_count) end
Replaces safe stale Rails config version literals with the current version.
@return [Semverve::FixResult]