Class: CommandTower::Deserializers::Messaging::Inbox::BulkIdsDeserializer
- Inherits:
-
ShowDeserializer
- Object
- ApplicationDeserializer
- ShowDeserializer
- CommandTower::Deserializers::Messaging::Inbox::BulkIdsDeserializer
- Defined in:
- app/deserializers/command_tower/deserializers/messaging/inbox.rb
Defined Under Namespace
Classes: Input
Constant Summary collapse
- MAX_IDS =
100
Instance Method Summary collapse
Methods inherited from ApplicationDeserializer
Instance Method Details
#call(params) ⇒ Object
64 65 66 67 68 69 70 71 72 |
# File 'app/deserializers/command_tower/deserializers/messaging/inbox.rb', line 64 def call(params) raw = params[:ids] return failure(errors: { message: "invalid_ids" }) unless raw.is_a?(Array) && raw.any? && raw.size <= MAX_IDS values = raw.map { |entry| positive_integer(entry) } return failure(errors: { message: "invalid_ids" }) if values.any?(&:nil?) success(Input.new(inbox_item_ids: values.uniq)) end |