Class: GenesisRuby::Api::Request

Inherits:
Object
  • Object
show all
Includes:
Mixins::Requests::AttributeValidation, Mixins::Requests::RestrictedSetter
Defined in:
lib/genesis_ruby/api/request.rb

Overview

Base Request Class

Constant Summary collapse

PROTOCOL_HTTPS =
'https'
PORT_HTTPS =
443
METHOD_POST =
'POST'
METHOD_GET =
'GET'
METHOD_PUT =
'PUT'
METHOD_PATCH =
'PATCH'
AUTH_TYPE_BASIC =
'basic'
AUTH_TYPE_TOKEN =
'bearer'

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(configuration, builder_interface = 'xml') ⇒ Request

Returns a new instance of Request.



30
31
32
33
34
35
36
37
# File 'lib/genesis_ruby/api/request.rb', line 30

def initialize(configuration, builder_interface = 'xml')
  @configuration     = configuration
  @builder_interface = builder_interface
  @api_config        = GenesisRuby::Utils::Options::ApiConfig.new

  init_configuration
  init_field_validations
end

Instance Attribute Details

#api_configObject (readonly)

Returns the value of attribute api_config.



28
29
30
# File 'lib/genesis_ruby/api/request.rb', line 28

def api_config
  @api_config
end

Instance Method Details

#build_documentObject

Generate the Request Document based on the builder_interface



40
41
42
43
44
45
46
47
48
49
50
51
# File 'lib/genesis_ruby/api/request.rb', line 40

def build_document
  process_request_parameters

  if tree_structure.instance_of?(Hash)
    @builder_context = GenesisRuby::Builder.new(builder_interface)
    builder_context.parse_structure(tree_structure.clone)

    return builder_context.document
  end

  nil
end