Module: HaveAPI::GoClient::Parameter

Defined in:
lib/haveapi/go_client/parameter.rb

Class Method Summary collapse

Class Method Details

.new(role, direction, io, name, desc) ⇒ Parameters::Base?

Parameters:

  • role (Symbol)
  • direction (Symbol)
  • io (InputOutput)
  • name (String)
  • desc (Hash)

Returns:



18
19
20
21
22
23
24
25
# File 'lib/haveapi/go_client/parameter.rb', line 18

def self.new(role, direction, io, name, desc)
  klass, =
    @handlers.select do |_klass, block|
      block.call(role, direction, name, desc)
    end.first

  klass ? klass.new(io, name, desc) : nil
end

.register(klass, block) ⇒ Object

Parameters:

  • klass (Class)
  • block (Proc)


7
8
9
10
# File 'lib/haveapi/go_client/parameter.rb', line 7

def self.register(klass, block)
  @handlers ||= []
  @handlers << [klass, block]
end