Class: Apiwork::Adapter::Standard::Capability::Sorting::ContractBuilder

Inherits:
Capability::Contract::Base show all
Defined in:
lib/apiwork/adapter/standard/capability/sorting/contract_builder.rb

Constant Summary collapse

TYPE_NAME =
:sort

Instance Attribute Summary

Attributes inherited from Capability::Contract::Base

#options, #scope

Attributes inherited from Builder::Contract::Base

#representation_class

Instance Method Summary collapse

Methods inherited from Capability::Contract::Base

#initialize

Methods inherited from Builder::Contract::Base

#api_class, #contract_for, #enum, #enum?, #import, #initialize, #object, #scoped_enum_name, #scoped_type_name, #type?, #union

Constructor Details

This class inherits a constructor from Apiwork::Adapter::Capability::Contract::Base

Instance Method Details

#buildObject



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/apiwork/adapter/standard/capability/sorting/contract_builder.rb', line 11

def build
  return unless build_type

  action(:index) do |action|
    action.request do |request|
      request.query do |query|
        query.union?(TYPE_NAME) do |union|
          union.variant do |element|
            element.reference(TYPE_NAME)
          end
          union.variant do |element|
            element.array do |array|
              array.reference(TYPE_NAME)
            end
          end
        end
      end
    end
  end
end