module BitBucket::Validations::Required
Public Instance Methods
assert_required_keys(required, provided)
click to toggle source
Validate all keys present in a provided hash against required set, on mismatch raise BitBucket::Error::RequiredParams
Note that keys need to be in the same format i.e. symbols or strings, otherwise the comparison will fail.
# File lib/bitbucket_rest_api/validations/required.rb, line 10 def assert_required_keys(required, provided) result = required.all? do |key| provided.has_deep_key? key end raise BitBucket::Error::RequiredParams.new(provided, required) unless result result end
assert_required_values_present(params, *required)
click to toggle source
Validate that required values are not blank the *required are colon separated strings e.g. 'source:branch:name' tests value of params[:branch]
# File lib/bitbucket_rest_api/validations/required.rb, line 23 def assert_required_values_present(params, *required) required.each do |encoded_string| keys = parse_values(encoded_string) value = keys.inject(params) { |params, key| params[key] } next unless value.is_a?(String) raise BitBucket::Error::BlankValue, encoded_string if value.empty? end end
parse_values(string)
click to toggle source
# File lib/bitbucket_rest_api/validations/required.rb, line 32 def parse_values(string) string.split(':') end