Sha256: 1882b3d668b6225c28b24fc7a67b653e9fb520b810793e0726b274a91c38bfe5
Contents?: true
Size: 810 Bytes
Versions: 5
Compression:
Stored size: 810 Bytes
Contents
# frozen_string_literal: true module RubyFly module Commands module Mixins module RequiredParams def configure_command(initial_builder, parameters) assert_required_params(parameters) super end def required_params %i[] end private def missing_params(parameters) required_params.select { |param| parameters[param].nil? } end def assert_required_params(parameters) missing_params = missing_params(parameters) return if missing_params.empty? description = missing_params.map { |p| "'#{p}'" }.join(', ') raise( ArgumentError, "Error: #{description} required but not provided." ) end end end end end
Version data entries
5 entries across 5 versions & 1 rubygems