Class: Evil::Client::DSL::Operation

Inherits:
Object
  • Object
show all
Defined in:
lib/evil/client/dsl/operation.rb

Overview

Builds a schema for single operation

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#schemaObject (readonly)

Returns the value of attribute schema.



7
8
9
# File 'lib/evil/client/dsl/operation.rb', line 7

def schema
  @schema
end

Instance Method Details

#finalize(settings) ⇒ Hash<Symbol, Object>

Builds a schema for a single operation

Parameters:

  • settings (Object)
  • block (Proc)

    A block of definitions (should accept settings)

Returns:

  • (Hash<Symbol, Object>)


15
16
17
18
19
20
21
22
# File 'lib/evil/client/dsl/operation.rb', line 15

def finalize(settings)
  @mutex.synchronize do
    @schema = @default.dup
    instance_exec(settings, &@block) if @block
    @schema[:middleware]&.finalize(settings)
    @schema
  end
end