Class: Nandi::SafeMigrationEnforcer
- Inherits:
-
Object
- Object
- Nandi::SafeMigrationEnforcer
- Defined in:
- lib/nandi/safe_migration_enforcer.rb
Defined Under Namespace
Classes: MigrationLintingFailed
Constant Summary collapse
- DEFAULT_SAFE_MIGRATION_DIR =
"db/safe_migrations"
- DEFAULT_AR_MIGRATION_DIR =
"db/migrate"
- DEFAULT_FILE_SPEC =
"all"
Instance Attribute Summary collapse
-
#violations ⇒ Object
readonly
Returns the value of attribute violations.
Instance Method Summary collapse
-
#initialize(require_path: nil, safe_migration_dir: DEFAULT_SAFE_MIGRATION_DIR, ar_migration_dir: DEFAULT_AR_MIGRATION_DIR, files: DEFAULT_FILE_SPEC) ⇒ SafeMigrationEnforcer
constructor
A new instance of SafeMigrationEnforcer.
- #run ⇒ Object
Constructor Details
#initialize(require_path: nil, safe_migration_dir: DEFAULT_SAFE_MIGRATION_DIR, ar_migration_dir: DEFAULT_AR_MIGRATION_DIR, files: DEFAULT_FILE_SPEC) ⇒ SafeMigrationEnforcer
Returns a new instance of SafeMigrationEnforcer.
22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/nandi/safe_migration_enforcer.rb', line 22 def initialize(require_path: nil, safe_migration_dir: DEFAULT_SAFE_MIGRATION_DIR, ar_migration_dir: DEFAULT_AR_MIGRATION_DIR, files: DEFAULT_FILE_SPEC) @files = files require require_path unless require_path.nil? configure_legacy_mode_if_needed(safe_migration_dir, ar_migration_dir) @violations = MigrationViolations.new end |
Instance Attribute Details
#violations ⇒ Object (readonly)
Returns the value of attribute violations.
20 21 22 |
# File 'lib/nandi/safe_migration_enforcer.rb', line 20 def violations @violations end |
Instance Method Details
#run ⇒ Object
34 35 36 37 38 39 40 41 42 |
# File 'lib/nandi/safe_migration_enforcer.rb', line 34 def run collect_violations if violations.any? raise MigrationLintingFailed, violations. end true end |