class LightService::Organizer::ReduceCase::Arguments

Attributes

else[R]
value[R]
when[R]

Public Class Methods

new(**args) click to toggle 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

mandatory_arguments() click to toggle source

rubocop:enable Style/MultilineIfModifier

# File lib/light-service/organizer/reduce_case.rb, line 27
def mandatory_arguments
  %i[value when else]
end
validate_arguments(**args) click to toggle source

rubocop:disable Style/MultilineIfModifier

# 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