class NRB::BreweryControlSystem

Constants

VERSION

Attributes

api[W]
api_class[RW]
api_version[W]
base_url[R]
http_service_class[RW]

Public Class Methods

new(api_class: API, base_url: nil, http_service_class: HTTPService, api_version: nil) click to toggle source
# File lib/brewery_control_system.rb, line 43
def initialize(api_class: API, base_url: nil, http_service_class: HTTPService, api_version: nil)
  self.api_class = api_class
  @base_url = base_url; @base_url.freeze
  self.http_service_class = http_service_class
  self.api_version = api_version
end
version() click to toggle source
# File lib/brewery_control_system/version.rb, line 4
def self.version; VERSION; end

Public Instance Methods

api_version() click to toggle source
# File lib/brewery_control_system.rb, line 13
def api_version
  @api_version ||= firmware_version
end
device() click to toggle source
# File lib/brewery_control_system.rb, line 18
def device
  api.device
end
discrete_inputs() click to toggle source
# File lib/brewery_control_system.rb, line 23
def discrete_inputs
  # 8
end
firmware_build() click to toggle source
# File lib/brewery_control_system.rb, line 33
def firmware_build
  device.build
end
firmware_version() click to toggle source
# File lib/brewery_control_system.rb, line 28
def firmware_version
  device.version
end
http_service(&block) click to toggle source
# File lib/brewery_control_system.rb, line 38
def http_service &block
  http_service_class.default_service url: base_url, &block
end
inputs() click to toggle source
# File lib/brewery_control_system.rb, line 51
def inputs
  # 8
  []
end
Also aliased as: discrete_inputs
name() click to toggle source
# File lib/brewery_control_system.rb, line 58
def name
  device.name
end
outputs() click to toggle source
# File lib/brewery_control_system.rb, line 63
def outputs
  # 18
end
processes() click to toggle source
# File lib/brewery_control_system.rb, line 68
def processes
  # 8
  # 8 states
  # 4 timers
  # 4 web inputs
  []
end
setpoints() click to toggle source
# File lib/brewery_control_system.rb, line 77
def setpoints
  api.setpoints
end
temp_probes() click to toggle source
# File lib/brewery_control_system.rb, line 82
def temp_probes
  api.temperature_probes
end
Also aliased as: temperature_probes
temperature_probes()
Alias for: temp_probes
type() click to toggle source
# File lib/brewery_control_system.rb, line 88
def type
  device.type
end

Private Instance Methods

api() click to toggle source
# File lib/brewery_control_system.rb, line 98
def api
  return @api unless @api.nil?
  api_args = { base_url: base_url, bcs: self }
  api_args[:api_version] = api_version unless @api_version.nil?
  @api = api_class.new api_args
end