class MethodStruct::ArgumentVerifier
Attributes
options[R]
Public Class Methods
new(options)
click to toggle source
# File lib/method_struct/argument_verifier.rb, line 3 def initialize(options) @options = options end
Public Instance Methods
call()
click to toggle source
# File lib/method_struct/argument_verifier.rb, line 7 def call verify_require_all verify_require_presence end
Private Instance Methods
arguments()
click to toggle source
# File lib/method_struct/argument_verifier.rb, line 33 def arguments options.fetch(:arguments) end
fields()
click to toggle source
# File lib/method_struct/argument_verifier.rb, line 29 def fields options.fetch(:fields) end
verify_require_all()
click to toggle source
# File lib/method_struct/argument_verifier.rb, line 15 def verify_require_all if options.fetch(:require_all) missing_arguments = fields - arguments.keys raise ArgumentError.new("missing arguments: #{missing_arguments.sort.inspect}") unless missing_arguments.empty? end end
verify_require_presence()
click to toggle source
# File lib/method_struct/argument_verifier.rb, line 22 def verify_require_presence if options.fetch(:require_presence) nil_arguments = arguments.map{ |k, v| k if v.nil? }.compact raise ArgumentError.new("nil arguments: #{nil_arguments.sort.inspect}") unless nil_arguments.empty? end end