class Schmersion::MessageValidator
Attributes
errors[R]
Public Class Methods
new(config, message)
click to toggle source
# File lib/schmersion/message_validator.rb, line 8 def initialize(config, message) @config = config @message = message @errors = [] validate_all end
Public Instance Methods
valid?()
click to toggle source
# File lib/schmersion/message_validator.rb, line 15 def valid? @errors.empty? end
validate_all()
click to toggle source
# File lib/schmersion/message_validator.rb, line 19 def validate_all return if @message.merge? validate_valid_format return unless @message.valid? validate_type validate_scope validate_description_presence validate_description_length end
Private Instance Methods
validate_description_length()
click to toggle source
# File lib/schmersion/message_validator.rb, line 59 def validate_description_length return if @message.description.nil? return if @message.description.size.zero? return if @message.description.size <= @config.linting[:max_description_length] errors << "Commit description must be less than #{@config.linting[:max_description_length]} " \ "characters (currently #{@message.description.size})" end
validate_description_presence()
click to toggle source
# File lib/schmersion/message_validator.rb, line 53 def validate_description_presence return if @message.description&.size&.positive? errors << 'A description (text after the type) must be provided' end
validate_scope()
click to toggle source
# File lib/schmersion/message_validator.rb, line 46 def validate_scope return if @message.scope.nil? return if @config.valid_scope?(@message.scope) errors << "Scope (#{@message.scope}) is not valid" end
validate_type()
click to toggle source
# File lib/schmersion/message_validator.rb, line 39 def validate_type return if @message.type.nil? return if @config.valid_type?(@message.type) errors << "Type (#{@message.type}) is not valid" end
validate_valid_format()
click to toggle source
# File lib/schmersion/message_validator.rb, line 33 def validate_valid_format return if @message.valid? errors << 'The commit message is not in a valid format' end