Module: Sidekiq::Tasks::Validations
- Included in:
- Config, Strategies::Base, Task, TaskMetadata
- Defined in:
- lib/sidekiq/tasks/validations.rb
Class Method Summary collapse
- .validate_array_classes!(objects, classes, name = nil) ⇒ Object
- .validate_class!(object, classes, name = nil) ⇒ Object
- .validate_expected_values!(value, expected_values, name = nil) ⇒ Object
- .validate_hash_option!(options, key, classes = []) ⇒ Object
Class Method Details
.validate_array_classes!(objects, classes, name = nil) ⇒ Object
15 16 17 18 19 |
# File 'lib/sidekiq/tasks/validations.rb', line 15 def validate_array_classes!(objects, classes, name = nil) validate_class!(objects, [Array], name) objects.each { |object| validate_class!(object, classes) } end |
.validate_class!(object, classes, name = nil) ⇒ Object
4 5 6 7 8 9 10 11 12 |
# File 'lib/sidekiq/tasks/validations.rb', line 4 def validate_class!(object, classes, name = nil) return if classes.any? { |klass| object.is_a?(klass) } expected_classes = classes.map(&:name).join(" or ") name ||= object raise Sidekiq::Tasks::ArgumentError, "'#{name}' must be an instance of #{expected_classes} but received #{object.class}" end |
.validate_expected_values!(value, expected_values, name = nil) ⇒ Object
28 29 30 31 32 33 |
# File 'lib/sidekiq/tasks/validations.rb', line 28 def validate_expected_values!(value, expected_values, name = nil) return if expected_values.any? { |expected_value| value == expected_value } raise Sidekiq::Tasks::ArgumentError, "'#{name}' must be one of #{expected_values.map(&:inspect).join(" or ")} but received #{value.inspect}" end |
.validate_hash_option!(options, key, classes = []) ⇒ Object
22 23 24 25 |
# File 'lib/sidekiq/tasks/validations.rb', line 22 def validate_hash_option!(, key, classes = []) validate_class!(, [Hash]) validate_class!([key], classes, key) end |