class LightService::Organizer::ReduceCase::Arguments
Attributes
Public Class Methods
Source
# File lib/light-service/organizer/reduce_case.rb, line 9 def initialize(**args) validate_arguments(**args) @value = args[:value] @when = args[:when] @else = args[:else] end
Private Instance Methods
Source
# File lib/light-service/organizer/reduce_case.rb, line 27 def mandatory_arguments %i[value when else] end
rubocop:enable Style/MultilineIfModifier
Source
# File lib/light-service/organizer/reduce_case.rb, line 19 def validate_arguments(**args) raise( ArgumentError, "Expected keyword arguments: [:value, :when, :else]. Given: #{args.keys}" ) unless args.keys.intersection(mandatory_arguments).count == mandatory_arguments.count end
rubocop:disable Style/MultilineIfModifier