Class: NRB::BreweryControlSystem::API::VersionCheck

Inherits:
Faraday::Response::Middleware
  • Object
show all
Extended by:
Middleware::Registration
Includes:
ServerVersion
Defined in:
lib/brewery_control_system/api/version_check.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Middleware::Registration

register_middleware

Methods included from ServerVersion

#server_version

Constructor Details

#initialize(app = nil, version = nil) ⇒ VersionCheck

Returns a new instance of VersionCheck.

Raises:

  • (ArgumentError)


9
10
11
12
13
# File 'lib/brewery_control_system/api/version_check.rb', line 9

def initialize(app=nil,version=nil)
  raise ArgumentError.new("Must supply an api version to compare against") if version.nil?
  super app
  @required_version = version
end

Instance Attribute Details

#required_versionObject (readonly)

Returns the value of attribute required_version.



7
8
9
# File 'lib/brewery_control_system/api/version_check.rb', line 7

def required_version
  @required_version
end

Instance Method Details

#on_complete(env) ⇒ Object



16
17
18
19
20
21
# File 'lib/brewery_control_system/api/version_check.rb', line 16

def on_complete(env)
  remote_version = server_version env[:response_headers]
  if remote_version != required_version
    warn "BCS Firmware version (#{remote_version}) does not match API version (#{required_version})."
  end
end