Class: MotherBrain::API::Validators::SemVer

Inherits:
Grape::Validations::Validator
  • Object
show all
Defined in:
lib/mb/api/validators/sem_ver.rb

Overview

Coerce a URI friendly version string into a SemVer string

Examples:

coercing a URI friendly string into a SemVer string


"1_0_0" => "1.0.0"

Instance Method Summary collapse

Instance Method Details

#validate_param!(attr_name, params) ⇒ Object



8
9
10
11
12
13
14
15
16
# File 'lib/mb/api/validators/sem_ver.rb', line 8

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