Sha256: 386504a49d00fd90704b6315c28618ba72bd6187b58b33fdc65a7894aa3f977d

Contents?: true

Size: 577 Bytes

Versions: 7

Compression:

Stored size: 577 Bytes

Contents

module MotherBrain::API::Validators
  # Coerce a URI friendly version string into a SemVer string
  #
  # @example coercing a URI friendly string into a SemVer string
  #
  #   "1_0_0" => "1.0.0"
  class SemVer < Grape::Validations::Validator
    def validate_param!(attr_name, params)
      return nil if params[attr_name].nil?

      ver_string = params[attr_name].gsub('_', '.')
      Semverse::Version.split(ver_string)
      params[attr_name] = ver_string
    rescue Semverse::InvalidVersionFormat => ex
      throw :error, status: 400, message: ex.to_s
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
motherbrain-1.5.0 lib/mb/api/validators/sem_ver.rb
motherbrain-1.4.0 lib/mb/api/validators/sem_ver.rb
motherbrain-1.3.0 lib/mb/api/validators/sem_ver.rb
motherbrain-1.2.1 lib/mb/api/validators/sem_ver.rb
motherbrain-1.2.0 lib/mb/api/validators/sem_ver.rb
motherbrain-1.1.3 lib/mb/api/validators/sem_ver.rb
motherbrain-1.1.2 lib/mb/api/validators/sem_ver.rb