Class: Castle::Commands::ListItems::Query

Inherits:
Object
  • Object
show all
Defined in:
lib/castle/commands/list_items/query.rb

Overview

Builds the command to query list items

Class Method Summary collapse

Class Method Details

.build(options = {}) ⇒ Castle::Command

Parameters:

  • options (Hash) (defaults to: {})

Returns:



11
12
13
14
15
16
17
18
19
# File 'lib/castle/commands/list_items/query.rb', line 11

def build(options = {})
  Castle::Validators::Present.call(options, %i[list_id])
  options[:filters]&.each { |f| Castle::Validators::Present.call(f, %i[field op value]) }
  Castle::Validators::Present.call(options[:sort], %i[field order]) if options[:sort]

  list_id = options.delete(:list_id)

  Castle::Command.new("lists/#{list_id}/items/query", options, :post)
end