Module: S2Netbox

Includes:
Helpers
Defined in:
lib/s2_netbox.rb,
lib/s2_netbox/version.rb

Defined Under Namespace

Modules: Commands, Errors, Helpers Classes: ApiRequest, ApiResponse, Configuration, Error

Constant Summary collapse

BASIC_ENDPOINT =
'/goforms/nbapi'
VERSION =
'0.1.1'

Class Method Summary collapse

Methods included from Helpers

#blank?, included

Class Method Details

.clear_configurationObject



37
38
39
# File 'lib/s2_netbox.rb', line 37

def clear_configuration
  @configuration = nil
end

.configurationObject



33
34
35
# File 'lib/s2_netbox.rb', line 33

def configuration
  @configuration ||= S2Netbox::Configuration.new
end

.configureObject



25
26
27
28
29
30
31
# File 'lib/s2_netbox.rb', line 25

def configure
  yield configuration

  configuration
ensure
  configuration.validate!
end

.request(url, command, session_id = nil) ⇒ Object



42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# File 'lib/s2_netbox.rb', line 42

def self.request(url, command, session_id=nil)
  uri = URI("#{S2Netbox.configuration.controller_url}#{url}")

  req = Net::HTTP::Post.new(uri)

  req.body = "APIcommand=<NETBOX-API#{blank?(session_id) ? '' : " sessionid='#{session_id}'"}>#{command}</NETBOX-API>"
  req.content_type = 'text/xml'

  response = nil

  Net::HTTP.start(uri.hostname, uri.port, :use_ssl => uri.scheme == 'https' ) {|http|
    response = http.request(req)
  }

  S2Netbox::ApiResponse.new(req.body, response.body )
end