Class: Factorix::Dependency::ValidationResult

Inherits:
Object
  • Object
show all
Defined in:
lib/factorix/dependency/validation_result.rb

Overview

Represents the result of MOD dependency validation

Holds errors and warnings found during validation.

Defined Under Namespace

Classes: Error, Suggestion, Warning

Constant Summary collapse

MISSING_DEPENDENCY =

Error types

:missing_dependency
DISABLED_DEPENDENCY =
:disabled_dependency
VERSION_MISMATCH =
:version_mismatch
CONFLICT =
:conflict
CIRCULAR_DEPENDENCY =
:circular_dependency
MOD_IN_LIST_NOT_INSTALLED =

Warning types

:mod_in_list_not_installed
MOD_INSTALLED_NOT_IN_LIST =
:mod_installed_not_in_list

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeValidationResult

Returns a new instance of ValidationResult.



71
72
73
74
75
# File 'lib/factorix/dependency/validation_result.rb', line 71

def initialize
  @errors = []
  @warnings = []
  @suggestions = []
end

Instance Attribute Details

#dependencyFactorix::MOD? (readonly)

Returns dependency MOD.

Returns:



# File 'lib/factorix/dependency/validation_result.rb', line 15

#errorsArray<Error> (readonly)

Get all errors

Returns:



105
106
107
# File 'lib/factorix/dependency/validation_result.rb', line 105

def errors
  @errors
end

#messageString (readonly)

Returns suggestion message.

Returns:

  • (String)

    suggestion message



# File 'lib/factorix/dependency/validation_result.rb', line 15

#modFactorix::MOD (readonly)

Returns related MOD.

Returns:



# File 'lib/factorix/dependency/validation_result.rb', line 15

#suggestionsArray<Suggestion> (readonly)

Get all suggestions

Returns:



115
116
117
# File 'lib/factorix/dependency/validation_result.rb', line 115

def suggestions
  @suggestions
end

#typeSymbol (readonly)

Returns warning type.

Returns:

  • (Symbol)

    warning type



# File 'lib/factorix/dependency/validation_result.rb', line 15

#versionFactorix::MODVersion (readonly)

Returns suggested version.

Returns:



# File 'lib/factorix/dependency/validation_result.rb', line 45

#warningsArray<Warning> (readonly)

Get all warnings

Returns:



110
111
112
# File 'lib/factorix/dependency/validation_result.rb', line 110

def warnings
  @warnings
end

Instance Method Details

#add_error(type:, message:, mod: nil, dependency: nil) ⇒ void

This method returns an undefined value.

Add an error

Parameters:

  • type (Symbol)

    Error type

  • message (String)

    Error message

  • mod (Factorix::MOD, nil) (defaults to: nil)

    Related MOD

  • dependency (Factorix::MOD, nil) (defaults to: nil)

    Dependency MOD



84
# File 'lib/factorix/dependency/validation_result.rb', line 84

def add_error(type:, message:, mod: nil, dependency: nil) = @errors << Error[type:, message:, mod:, dependency:]

#add_suggestion(message:, mod:, version:) ⇒ void

This method returns an undefined value.

Add a suggestion

Parameters:



100
# File 'lib/factorix/dependency/validation_result.rb', line 100

def add_suggestion(message:, mod:, version:) = @suggestions << Suggestion[message:, mod:, version:]

#add_warning(type:, message:, mod: nil) ⇒ void

This method returns an undefined value.

Add a warning

Parameters:

  • type (Symbol)

    Warning type

  • message (String)

    Warning message

  • mod (Factorix::MOD, nil) (defaults to: nil)

    Related MOD



92
# File 'lib/factorix/dependency/validation_result.rb', line 92

def add_warning(type:, message:, mod: nil) = @warnings << Warning[type:, message:, mod:]

#errors?Boolean

Check if there are any errors

Returns:

  • (Boolean)


120
# File 'lib/factorix/dependency/validation_result.rb', line 120

def errors? = !@errors.empty?

#suggestions?Boolean

Check if there are any suggestions

Returns:

  • (Boolean)


130
# File 'lib/factorix/dependency/validation_result.rb', line 130

def suggestions? = !@suggestions.empty?

#valid?Boolean

Check if validation passed (no errors)

Returns:

  • (Boolean)


135
# File 'lib/factorix/dependency/validation_result.rb', line 135

def valid? = !errors?

#warnings?Boolean

Check if there are any warnings

Returns:

  • (Boolean)


125
# File 'lib/factorix/dependency/validation_result.rb', line 125

def warnings? = !@warnings.empty?