Class: RailsDoctor::Adapters::StrongMigrations

Inherits:
Base
  • Object
show all
Defined in:
lib/rails_doctor/adapters/strong_migrations.rb

Constant Summary collapse

NAME =
"strong_migrations"

Instance Attribute Summary

Attributes inherited from Base

#changed_files, #config, #profile, #project, #runner

Instance Method Summary collapse

Methods inherited from Base

#command, #initialize, #name, #unavailable_reason

Constructor Details

This class inherits a constructor from RailsDoctor::Adapters::Base

Instance Method Details

#available?Boolean

Returns:

  • (Boolean)


8
9
10
# File 'lib/rails_doctor/adapters/strong_migrations.rb', line 8

def available?
  project.gem_declared?("strong_migrations")
end

#install_guidanceObject



12
13
14
# File 'lib/rails_doctor/adapters/strong_migrations.rb', line 12

def install_guidance
  "Add gem \"strong_migrations\" to development/test and run rails-doctor init for migration safety coverage."
end

#runObject



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/rails_doctor/adapters/strong_migrations.rb', line 16

def run
  {
    tool_run: ToolRun.new(
      name: name,
      available: true,
      skipped: false,
      exit_status: 0,
      metadata: {
        coverage: "strong_migrations gem detected",
        initializer_present: File.exist?(project.join("config/initializers/strong_migrations.rb"))
      }
    ),
    findings: initializer_findings
  }
end