module HaveAPI::GoClient::Parameter

Public Class Methods

new(role, direction, io, name, desc) click to toggle source

@param role [Symbol] @param direction [Symbol] @param io [InputOutput] @param name [String] @param desc [Hash] @return [Parameters::Base, nil]

# 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) click to toggle source

@param klass [Class] @param block [Proc]

# File lib/haveapi/go_client/parameter.rb, line 7
def self.register(klass, block)
  @handlers ||= []
  @handlers << [klass, block]
end