Class: Semverve::RailsConfigMetadata
- Inherits:
-
Object
- Object
- Semverve::RailsConfigMetadata
- Defined in:
- lib/semverve/rails_config_metadata.rb
Overview
Finds and updates Rails-native config version literals.
Constant Summary collapse
- DEFAULT_FILE_PATTERNS =
Default Rails config file patterns that can expose an app version.
[ "config/application.rb", "config/environments/*.rb", "config/initializers/**/*.rb" ].freeze
- VERSION_PATTERN =
Rails config version assignments that are safe to rewrite.
/^\s*(?:Rails\.application\.)?config\.x\.version\s*=\s*(?<quote>["'])(?<version>\d+\.\d+\.\d+)\k<quote>/
Instance Method Summary collapse
-
#findings ⇒ Array<Semverve::Finding>
Rails config metadata findings.
-
#fix ⇒ Semverve::FixResult
Replaces safe stale Rails config version literals with the current version.
-
#initialize(configuration, current_version) ⇒ Semverve::RailsConfigMetadata
constructor
Initializes Rails config metadata scanning.
Constructor Details
#initialize(configuration, current_version) ⇒ Semverve::RailsConfigMetadata
Initializes Rails config metadata scanning.
39 40 41 42 |
# File 'lib/semverve/rails_config_metadata.rb', line 39 def initialize(configuration, current_version) @configuration = configuration @current_version = current_version end |
Instance Method Details
#findings ⇒ Array<Semverve::Finding>
Rails config metadata findings.
48 49 50 |
# File 'lib/semverve/rails_config_metadata.rb', line 48 def findings files.flat_map { |path| findings_for_file(path) } end |
#fix ⇒ Semverve::FixResult
Replaces safe stale Rails config version literals with the current version.
56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
# 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 |