Class: NRB::BCSInterrogator::API

Inherits:
Object
  • Object
show all
Defined in:
lib/bcs_interrogator/api.rb,
lib/bcs_interrogator/api/ultemp.rb,
lib/bcs_interrogator/api/sysname.rb,
lib/bcs_interrogator/api/endpoint.rb,
lib/bcs_interrogator/api/response.rb

Defined Under Namespace

Classes: Endpoint, Response, Sysname, Ultemp

Constant Summary collapse

API_VERSION =

Use NRB::BCSInterrogator::API.api_version instead

'BCS 3.7.0'

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(args = {}) ⇒ API

Returns a new instance of API.

Raises:

  • (ArgumentError)


28
29
30
31
32
# File 'lib/bcs_interrogator/api.rb', line 28

def initialize(args={})
  @base_url = args.delete(:base_url)
  raise ArgumentError.new("Please supply a :base_url") unless @base_url
  @http_service = args.delete(:http_service) || NRB::HTTPService
end

Instance Attribute Details

#base_urlObject (readonly)

Returns the value of attribute base_url.



15
16
17
# File 'lib/bcs_interrogator/api.rb', line 15

def base_url
  @base_url
end

#http_serviceObject (readonly)

Returns the value of attribute http_service.



15
16
17
# File 'lib/bcs_interrogator/api.rb', line 15

def http_service
  @http_service
end

Class Method Details

.api_versionObject



12
# File 'lib/bcs_interrogator/api.rb', line 12

def self.api_version; API_VERSION; end

Instance Method Details

#api_call(args, connection_opts = {}) ⇒ Object



17
18
19
20
21
22
23
24
25
# File 'lib/bcs_interrogator/api.rb', line 17

def api_call(args,connection_opts={})
  args[:response_class] ||= NRB::BCSInterrogator::API::Response
  response = @http_service.new(args,connection_opts).make_request
  if response.server_version &&
     response.server_version != self.class.api_version
    warn "Firmware version (#{response.server_version}) does not match API version (#{self.class.api_version})."
  end
  response
end

#sysnameObject



35
# File 'lib/bcs_interrogator/api.rb', line 35

def sysname; @sysname ||= Sysname.new api: self; end

#ultempObject



36
# File 'lib/bcs_interrogator/api.rb', line 36

def ultemp; @ultemp ||= Ultemp.new api: self; end